我正在寻找和我一样的问题,但我没有找到任何东西。这是我的问题:
我有包含bean的ArrayList。我的豆子是'Row'。有吸引人和吸气剂。
这是来自Database class的方法:
public ArrayList<Row> getDatalist() {
datalist = new ArrayList<Row>();
try {
String query = "SELECT * FROM ...";
ResultSet r = s.executeQuery(query);
while(r.next()) {
Row row = new Row();
row.setLocation(r.getString(4));
row.setVolume(r.getInt(3));
row.setTime(r.getTime(5));
row.setDate(r.getDate(5));
datalist.add(row);
}
} catch (SQLException e) {
e.printStackTrace();
}
return datalist;
}
我的servlet:
ArrayList<Row> rows = db.getDatalist();
request.setAttribute("rows", rows);
request.getRequestDispatcher("/main.jsp").forward(request,response);
至少'main.jsp':
<c:forEach var="row" items="${rows}">
<c:out value="${row.location}"></c:out>
</c:forEach>
问题是$ {row.location}为空。我的页面来源:
<c:forEach var="row" items="[webservice.model.Row@1e41769, webservice.model.Row@1bd0815, webservice.model.Row@15dd716, webservice.model.Row@1d40d08]">
<c:out value=""></c:out>
</c:forEach>
有什么想法吗?非常感谢。
答案 0 :(得分:1)
嗯,您的页面来源清楚地表明了问题:容器不会解释c
标记。这意味着您忘记在JSP顶部声明c
taglib:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
答案 1 :(得分:0)
请确保您已将此设置为:
<%@ page isELEnabled ="true"%>
使el表达式启用。