JSF从List <School>添加到selectOneMenu

Ill*_*lep 2 java jsf netbeans selectonemenu glassfish-3

我有一个List对象,它包含School.Id,School.Name和School.Address.

我需要在selectOneMenu列表框中列出所有School.Name.Java代码和相应的JSF代码将如何.

到目前为止我的工作;

<h:selectOneMenu value="#{School.listschoolName}">
<f:selectItems value="#{School.listschoolName}" />
</h:selectOneMenu>
Run Code Online (Sandbox Code Playgroud)

Java类

//And also i got the corresponding getters and setters for these
private List<School> listschool; 

public void listschoolName(){
    setListschool(hml.findAllSchool());
}
Run Code Online (Sandbox Code Playgroud)

findAllSchool()方法实际上返回一个List<School>对象.

我需要在列表框中显示这些学校名称(dropdown/selectOneMenu).我怎样才能做到这一点 ?

  • 我使用的是Netbeans 6.9.1和Galssfish 3

Jul*_*ont 7

您可以使用var,itemLabel并且itemValue属性:

<h:selectOneMenu value="#{bean.selectedSchool}">
    <f:selectItems value="#{School.listschoolName}" var="_school" itemValue="#{_school.id}" itemLabel="#{_school.name}"/>
</h:selectOneMenu>    
Run Code Online (Sandbox Code Playgroud)

根据您在School类中有一个getId()和getName(),在您的托管bean中有一个getSelectedSchool()和setSelectedSchool(School s).

  • 项目值成为选定值.您已将项目值设置为学校ID.然而,制定者期望学校.所以你的答案并不完全正常工作:)另见http://stackoverflow.com/questions/6848970/how-to-prepopulate-a-hselectonemenu-from-a-db (3认同)