我的问题是这个下拉列表无法生成,导致SQL异常
servlet中的我的SQL语句如下所示:
ResultSet banks = stmt.executeQuery("SELECT * FROM DTU06.BANKS");
我的下拉列表是在JSP文件中创建的,就像这样
<% ResultSet banks = (ResultSet) request.getAttribute("banks"); %>
<select id="aNum" name="bank">
<% while (banks.next()) { %>
<option value="${banks.getString(2)}">
<%=banks.getString(1)%>
</option>
<% } %>
</select>
我得到的错误代码如下:
DSRA9110E:ResultSet已关闭。
任何人都可以看到问题吗?
* EDIT1
我尝试在servlet中使用banks.next()
,但我决定删除它。
答案 0 :(得分:0)
ResultSet不可序列化。实现自己的MyResultSet实现ResultSet和Serializable,或者将结果集放入集合对象并将其传递到jsp页面。
答案 1 :(得分:0)
之后
ResultSet banks = stmt.executeQuery("SELECT * FROM DTU06.BANKS");
语句遍历您的ResultSet
即banks.next()
然后添加到某个集合
例如
public ArrayList getResult();
{
ArrayList list = new ArrayList();
//get connection here
ResultSet banks = stmt.executeQuery("SELECT * FROM DTU06.BANKS");
while(banks.next()){
list.add(banks.getString("columnIndex"));
}
return list
}
调用此方法然后遍历ArrayList,并在需要值时获取,即list.get("index")