【问题标题】:Java ResultSet to JSPJava ResultSet 到 JSP
【发布时间】:2017-01-23 13:36:47
【问题描述】:

我可以将 ResultSet 从 Servlet 传输到 JSP 文件并在 c:forEach 中使用它吗?

目前我正在这样做:

<sql:query dataSource="${datasource}" var="result">SELECT * FROM events WHERE DATE >= CURDATE() ORDER BY Date</sql:query>
<c:forEach var="events" items="${result.rows}">

但我想用 Java 像这样创建 ResultSet:

String sqlSelectEvents = "SELECT * FROM events";
pstmt = (PreparedStatement) con.prepareStatement(sqlSelectEvents);
ResultSet rs = pstmt.executeQuery();
request.setAttribute("rs", rs);

然后在 JSP 视图中:

<c:forEach var="events" items="${rs.rows}">

【问题讨论】:

  • 问题出在哪里?
  • 它不起作用:/ 所以不可能将 ResultSet 传输到 JSP 文件?
  • 不起作用,因为.... ???怎么了?例外?
  • 其实没什么。它只是行不通。 JSP-File 没有抛出异常,但它没有遍历 ResultSet-Items。

标签: java mysql sql jsp


【解决方案1】:

您可以创建一个list,然后将该列表传输到jstl

  1. 创建一个列表说结果列表
  2. 遍历结果集并将项目添加到结果列表中
  3. 将此列表传递给 jstl 并使用 &lt;c:foreach&gt; 循环它并获取 元素

【讨论】:

    【解决方案2】:

    您应该在 .java 文件中设置属性。

    Java 部分代码:

    String sqlSelectEvents = "SELECT * FROM events";
    pstmt = (PreparedStatement) con.prepareStatement(sqlSelectEvents);
    ResultSet rs = pstmt.executeQuery();
    request.getSession().setAttribute("resultset", rs);
    

    JSP 部分代码:

    < c:forEach var="events" items="${resultset.rows}">
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-19
      • 2010-09-27
      • 1970-01-01
      • 2010-12-16
      • 2015-01-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多