我正在使用jsf 1.2 selectonemenu,我要求当页面加载selectonemenu时会从数据库加载一些数据,并且会在listbox中选择一个值。我已经使用硬编码值完成了它。但是当它是来自数据库它不起作用,我发布了我的硬编码和数据库编码。
<h:selectOneMenu id="submenu" value="three">
<f:selectItem id="si1" itemLabel="One" itemValue="one" />
<f:selectItem id="si2" itemLabel="Two" itemValue="two" />
<f:selectItem id="si3" itemLabel="Three" itemValue="three" />
<f:selectItem id="si4" itemLabel="Four" itemValue="four" />
</h:selectOneMenu>
数据库编码
<h:selectOneMenu id="submenu">
<f:selectItem id="si1" itemValue="${useBean.memberDependentList}" />
</h:selectOneMenu>
我的Bean课程
List<DependentDTO> dependentList = new MemberProxy()
.getDependentListFormMember( loggedInUser
.getUserAccessList().get(0).getClientCode(),
loggedInUser
.getUserAccessList().get(0).getCertificateNumber());
List<SelectItem> selList=new ArrayList<SelectItem>();
for(DependentDTO depDTO:dependentList){
SelectItem sel = new SelectItem();
sel.setLabel(depDTO.getNameFirst());
sel.setValue(depDTO.getCertNumber()+"#"+depDTO.getClientCode()+"#"+depDTO.getDependentCode());
selList.add(sel);
}
mem = new MemberProxy().getMemberDetails(loggedInUser
.getUserAccessList().get(0).getClientCode(), loggedInUser
.getUserAccessList().get(0).getCertificateNumber());
SelectItem sel = new SelectItem();
sel.setLabel(mem.getNameFirst());
sel.setValue(mem.getCertNumber().toString().trim()+"#"+mem.getClientCode().toString().trim()+"#"+depDTO.getDependentCode());
selList.add(sel);
memberDependent.setMemberDependentList(selList);
我在标签中设置了人名,而我正在设置证书编号,客户端代码和相关代码的值,这里依赖代码是唯一的。证书编号和客户端代码在两种情况下是相同的。我可以做某事使用从属代码?当列表在下拉列表中填充时。因为我的目的是始终显示加载页面时选择的mem.getNameFirst()。是否可以使用任何技巧???请帮助我是JSF 1.2的新手
当从数据库中删除数据时,我将如何显示三个选择
答案 0 :(得分:0)
您应该使用bean中的值:
<h:outputText value="Country: " />
<h:selectOneMenu id="countries" value="#{bean.country}">
<f:selectItems value="#{bean.countries}" />
</h:selectOneMenu>