从JSP页面中的Java.class List中检索值

时间:2016-09-15 15:54:16

标签: java jsp

我是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循环不会显示任何内容。

我错过了什么?

2 个答案:

答案 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}"/>

会怎样?