java在jsp中使用jstl访问结果集
我是新来的。我已经构建了一个Web应用程序,其中我根据用户输入查询数据库,并将resultset
存储为session属性。
现在,当我尝试为每个给定错误使用JSTL
标记访问结果集时。我用德比作为我的数据库。
下面是代码片段
<c:forEach var="row" items="${sessionScope.borrow_list.rows}">
<li>Name : <c:out value="${row.book}" /></li>
<li>Author : <c:out value="${row.author}" /></li>
</c:forEach>
这是个例外
JspPropertyNotFoundException: /member_home.jsp(20,2) '${sessionScope.borrow_list.rows}' Property 'rows' not found on type org.apache.derby.client.net.NetResultSet42
然而,我确实看到了使用上述代码的示例。 我是否做错了什么,或者我的db(ResultSet)不支持此功能
# 1 楼答案
顺便说一下,从您的代码和错误消息来看,您似乎已经从代码的某些地方将
borrow_list.rows
放入了会话中。但是borrow_list
不包含任何名为rows
的属性希望这会有帮助
非常感谢
# 2 楼答案
执行JDBC语句后,将有一个ResultSet。应该处理该结果集,然后关闭ResultSet和语句
大概是这样的:
在JSP中,您可以正常工作
可能是在您找到的示例中使用了RowSet。ResultSet类似于迭代器,而JdbcRowSet类似于列表,数据量更大
属性可以在其他作用域中使用:请求作用域仅用于此单个请求
将类Tb
static
定义为servlet类的内部类时。这可以防止存在ServletClass。这是结核病