首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从servlet中的结果集中生成jsp中的下拉列表

从servlet中的结果集中生成jsp中的下拉列表
EN

Stack Overflow用户
提问于 2013-06-19 11:30:53
回答 2查看 877关注 0票数 0

我的问题是,由于SQL异常,此下拉列表无法生成。

servlet中的SQL语句如下所示:

代码语言:javascript
复制
ResultSet banks = stmt.executeQuery("SELECT * FROM DTU06.BANKS");

我的下拉列表是在JSP文件中创建的,如下所示

代码语言:javascript
复制
<%  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 1我尝试在servlet中使用banks.next(),但我决定删除它。

EN

回答 2

Stack Overflow用户

发布于 2013-06-19 11:56:16

ResultSet是不可序列化的。要么实现您自己的MyResultSet来实现ResultSet和Serializable,要么将您的结果集放到一个集合对象中,并将其传递到jsp页面。

票数 0
EN

Stack Overflow用户

发布于 2013-06-19 12:07:33

之后

ResultSet banks = stmt.executeQuery("SELECT * FROM DTU06.BANKS");

语句遍历ResultSet,即banks.next(),然后添加到某些集合中。

e.g

代码语言:javascript
复制
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")

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17190066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档