JSF h:selectOneMenu的问题,困扰我几天了,请大侠指教
大家好,我遇到一个关于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)
我已经被困扰几天了,请高手帮忙,万分感谢~