我是java和JSP的新手。我在jsp页面中找到了许多循环遍历返回的java类列表的例子,但没有一个适用于我的情况。这些示例并不总是显示@page和@taglib值,因此我已将它们包括在内,因为我不知道导入是否需要特定的订单。
我有以下jsp页面。
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.io.*,java.util.*,java.sql.*"%>
<%@page import="javax.servlet.http.*,javax.servlet.*" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
<c:set var="cp" value="${pageContext.request.servletContext.contextPath}" scope="request" />
<html>
<body>
<% java.util.List x = new path.to.java.class.method(); %>
<%=x %>
<c:forEach items="${x}" var="element">
<c:out value="${element.id}"/>
</c:forEach>
</body>
</html>
&lt;%= x%&gt;显示这样的逗号分隔值path.to.java.class@1234abcd,以获取从数据库返回的正确数值。 forEach循环不会显示任何内容。
我错过了什么?
答案 0 :(得分:1)
答案是将x设置为jstl变量,并将该变量与创建列表的bean的方法一起使用。
<% java.util.List x = new path.to.java.class.method(); %>
<c:set var="n" value="<%=x%>"/>
<c:forEach items="${n}" var="element">
<c:out value="${element.getId()}"/>
</c:forEach>
答案 1 :(得分:0)
如果您将c:out
语句更改为<c:out value="${element}"/>
?