读书人

在JSP页面里使用JSTL迭代标签无法得

发布时间: 2012-09-14 23:00:49 作者: rapoo

在JSP页面里使用JSTL迭代标签,无法得到值,大家帮忙指正一下。
这个是带有使用标签的JSP文件:

<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="com.SpringIOCbyLiufeng.*" %>
<%@ page import="java.util.*" %>
<%@ page import="com.liufeng.service.BookListService" %>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>

<%!List bookList; %>
<%
BookListService allBookBean = SpringByFriend.getSpringByFriend().getBookListService();

bookList = allBookBean.findAllBooks();
request.setAttribute("bookList", bookList);
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

<body>
<c:forEach var="bookList" items="${bookList}">
<font size="3">书名: <c:out value="${bookList.bookName}"/></font><br>
<font size="3">作者: <c:out value="${bookList.bookAuthor}"/></font><br>
<font size="4" color="red">价格: <c:out value="${bookList.bookPrice}"></c:out></font><br>

<a href="sss">详细信息</a><br>
<hr>
</c:forEach>
</body>
</html>

那个容器对象里面的值在我自己写的JAVA测试类里确实能够得到,现在使用了JSTL之后,只能得到表达式的内容,无法取得真正想得到的值。顺便请教一下大家,forEach在使用时候应该注意些什么

[解决办法]

[解决办法]
是不是缺少类型
[解决办法]

引用楼主 sd8023580 的帖子:
这个是带有使用标签的JSP文件:

<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="com.SpringIOCbyLiufeng.*" %>
<%@ page import="java.util.*" %>
<%@ page import="com.liufeng.service.BookListService" %>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>

<%!List bookList; %>
<%
BookListService allBookBean = SpringByFriend…

[解决办法]
你要实力化一个对象啊!
bookList = allBookBean.findAllBooks();
system.out.println("bookLlist=-=="+bookList.size())
运行看后台打印是多少是要>0说明从数据库中取到值了

[解决办法]
低版本的jstl不支持 表达式语言(${bookList.bookName})
建议<c:forEach var="book" items="${bookList}"> 看着很不舒服

[解决办法]
<c:forEach var="book" items="${bookList}">
[解决办法]
报错就说名能取到值了,只是你的值的类型有问题!

读书人网 >J2EE开发

热点推荐