JSF 解决再送100分!! h:selectOneMenu的问题,困扰我几天了,请大侠指教

xiaodaoxiaodao 2006-04-03 01:48:36
大家好,我遇到一个关于JSF h:selectOneMenu的问题,还请大家帮忙,
在jsp页面上我可以从f:selectItems tag中看到所有的dropdownlist,但是它显示的那个缺省的
label应该却不是从数据库中拿到的.

一共有两张表,一张是Employee ,一张是Department,
depId在Employee 表中,同时它是Department表的主键,在数据库中是Integer类型.
下面是jsp的代码
the jsp code :
<h:selectOneMenu id="depId" value="#{loginInfoBean.employee.depId)">
<f:selectItems value="#{loginInfoBean.departmentList}"/>
</h:selectOneMenu>

departmentList的值是由下面代码在LoginInfoBean.java类中产生的:
while(rs.next()){
departmentList.add(new SelectItem(String.valueOf(rs.getInt("depId")),
rs.getString("depName")));
}

从数据库中可以拿到所有的departmentList,
depId(int) depName(String)
1 'Administrator'
2 'Network'
3 'Sales'
4 'Engineering'

在EmployeeBean.java中,我定义了下面的get/set方法:
private int depId;
public String getDepId() {
return String.valueOf(depId);
}

public void setDepId(String depId) {
this.depId = Integer.valueOf(depId).intValue();
}

现在的问题是:
下拉列表我可以拿到,但是缺省值拿不到,
比如数据库Employee表中depId是3,那我应该在下拉列表中缺省选中'Sales' ,
但现在看到的缺省选项始终是'Administrator' (对应depId为1)

我已经被困扰几天了,请高手帮忙,解决了另开贴送分~
...全文
325 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaodaoxiaodao 2006-04-05
  • 打赏
  • 举报
回复
再顶一下,两天了,
没人回就结贴了~
imA 2006-04-05
  • 打赏
  • 举报
回复
对jsf不熟悉。但是我觉得现在你的数据都已经传到前台了。

只不过在下拉框中没有指定默认值。所以默认把第一个作为默认值了。

是不是jsf标签有指定默认值的属性你没指定呢,我记得struts中有这样的属性。
xqk 2006-04-04
  • 打赏
  • 举报
回复
gz
xiaodaoxiaodao 2006-04-04
  • 打赏
  • 举报
回复
没人回复吗,急急急啊!!!!!!

自己顶一下,请高手帮忙!!!!!!

万分感谢!!!

23,407

社区成员

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

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