如何实现从数据库读取出数据,显示在下拉框?

zhengpengyu 2006-10-24 08:05:08
本人在做一个项目,没有采用框架,直接手动写的Model2模式
现遇到一个问题:
就是从数据库读出数据,比如城市 北京,
页面上有一个城市下拉框,
如果在读取此条记录的时候,想把下拉框选中北京,
(我现在的做法是通过一个JavaScript,遍历下拉框中所有值,完了选中)
我感觉这方法很笨重。。。
请教有没有更好的方法???

...全文
1030 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhengpengyu 2006-10-24
  • 打赏
  • 举报
回复
问题是我是B/S模式啊
不过通过交流也有了点头绪,非常感谢各位的交流
谢谢
xifeo 2006-10-24
  • 打赏
  • 举报
回复
zhengpengyu(大鹏展翅) ( ) 信誉:100 Blog 2006-10-24 20:53:00 得分: 0


你这种方法是将集合中的数据全部都写入下拉框
可能我提问的有点不好
我打算完成的是,
如:
页面已经存在一个下拉框,里面已经有
城市 : 北京
上海
广州

我打算进入页面的时候,让下拉框选中 一条符合 数据库记录的option
如数据库读取出来上海,默认就选中 上海



不好意思 没看清楚
如果你是想实现这样
你就要在集合中第一个放入上海


不过 我看laoalxe1982() 的方法好像挺简单 不过没有用过
xifeo 2006-10-24
  • 打赏
  • 举报
回复
呵呵 不是 我是在jsp中实现的
zhengpengyu 2006-10-24
  • 打赏
  • 举报
回复
xifeo朋友
最后那点Html标签,是不是JSF的啊???
laoalxe1982 2006-10-24
  • 打赏
  • 举报
回复
你应该是在写一个单机版的C/S(GUI/DB)模式的项目吧?
这个问题上面几位好像搞复杂了!
假如现在你的数据库返回结果集ResultSet rs=stmt.executeQuery("select city from ...");
rs中存放的是你的查询结果,也就是某个城市!
JComboBox jcb =new JComboBox();
jcb.addItem("北京");
jcb.addItem("上海");
//假设rs中的是上海;要设置下拉列表为选项上海,就用如下语句
jcb.setSelectedItem(rs.getString(1));
这样就可以了!
xifeo 2006-10-24
  • 打赏
  • 举报
回复
这是我正在做的,没细心编辑,请见谅.
这可以动态读出内容,很简洁.
xifeo 2006-10-24
  • 打赏
  • 举报
回复
for(Iterator it = list.iterator();it.hasNext();){
//list的对象Post
Post post = (Post) it.next();

String id = ""+post.getPostId();
//把name和id放到labvalueben里面,要注意顺序
list2.add(new LabelValueBean(post.getPostName(),id));

}

return list2;


jsp里面:<%
//用List接受list2
pageContext.setAttribute("list", list);
%>

post:<html:select property="Post">
<html:options collection="list2" property="value"
labelProperty="label"></html:options>
</html:select>

~~~~~ok!
liusdream 2006-10-24
  • 打赏
  • 举报
回复
可以把取出来的数据放在ArrayList的中,再把ArrayList迭代一下不行就行了?
要选中北京可以在迭代的时候做个判断不就行了吗?
zhengpengyu 2006-10-24
  • 打赏
  • 举报
回复
你这种方法是将集合中的数据全部都写入下拉框
可能我提问的有点不好
我打算完成的是,
如:
页面已经存在一个下拉框,里面已经有
城市 : 北京
上海
广州

我打算进入页面的时候,让下拉框选中 一条符合 数据库记录的option
如数据库读取出来上海,默认就选中 上海
starsoulxp 2006-10-24
  • 打赏
  • 举报
回复
晕了,hasNext后面少了括号

<select>
<%
Iterator it = arrayList.Iterator();
while (it.hasNext())
{
%>

<option><%=it.Next()%></option>

<%
}
%>
</select>
starsoulxp 2006-10-24
  • 打赏
  • 举报
回复
不好意思,写错了,更正一下
<select>
<%
Iterator it = arrayList.Iterator();
while (it.hasNext)
{
%>

<option><%=it.Next()%></option>

<%
}
%>
</select>
starsoulxp 2006-10-24
  • 打赏
  • 举报
回复
首先把数据都读到arrayList 里。
<%
Iterator it = arrayList.Iterator();
while (it.hasNext)
{
%>
<select>
<option><%=it.Next()%></option>
</select>
<%
}
%>
zhengpengyu 2006-10-24
  • 打赏
  • 举报
回复
labvalueben集合 这是什么类型的集合???
还有更重要的一点,能给个一两行代码看看吗?或者讲解下
谢谢
xifeo 2006-10-24
  • 打赏
  • 举报
回复
要用到jsp用的labvalueben集合
zhengpengyu 2006-10-24
  • 打赏
  • 举报
回复
ArrayList 怎么应用到 下拉框?
能具体点吗???
jlusdy 2006-10-24
  • 打赏
  • 举报
回复
用ArrayList啊

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧