我正在做一个项目,试图学习Spring和Struts。目前在JSP页面上卡住了。我有一个包含eid和ename变量的POJO类,以及一个具有相同值的SQL表格,并填充了六行数据。
我通过JdbcTemplate
访问我的数据库,并将结果存储在列表中,然后将此列表传递给我的操作页,在其中将其设置为request.setAttribute("empList",eList)
。在我的jsp页面中,我调用该属性,然后尝试使用JSTL
进行迭代。
但是什么也没有显示出来,我知道我的列表变量中有数据,因为我使用表达式标签<%=eList%>
进行了检查,对象会像这样显示:
[org.classes.database.Employee@d9b02,
org.classes.database.Employee@13bce7e,
org.classes.database.Employee@171cc79,
org.classes.database.Employee@272a02,
org.classes.database.Employee@137105d,
org.classes.database.Employee@1359ad]
我觉得可能是我在JSTL上漏了什么,但是我的 META-INF/lib
文件夹中有jstl-1.2。我还尝试将其添加到配置路径文件中,但仍然无效。我也有正确的标签URL。
当我执行简单的 <c:out value="Hello"/>
时,Hello确实会打印出来。这让我相信我的 jstl
正常工作,但是当我尝试使用jstl
迭代我的列表时,什么也没有显示。
无论如何,这是我的JSP页面:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO- 8859-1"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page import="java.util.List"%>
<!DOCTYPE html>
<% List eList = (List)session.getAttribute("empList");%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Employee Details</title>
</head>
<body>
<c:out value="Hello"></c:out>
<h3>Employee Details</h3>
<hr size="4" color="gray"/>
<table>
<%=eList%>
<c:forEach items="${eList}" var="employee">
<tr>
<td>Employee ID: <c:out value="${employee.eid}"/></td>
<td>Employee Pass: <c:out value="${employee.ename}"/></td>
</tr>
</c:forEach>
</table>
</body>
</html>
任何帮助都将不胜感激!