用托管属性填充selectonemenu

时间:2012-09-30 12:16:08

标签: jsp jsf java-ee-6 managed-bean

对于一个项目,我需要用faces-config文件中初始化的列表的值填充一个selectonemenu。我似乎无法找到正确的答案,希望有人能为我解答 为什么不将faces-config的值加载到selectonemenu中? 我很确定我已经忘记了什么,但我不知道,我忘记了什么。目前,selectonemenu完全是空的。下面是我的代码的副本。

面-配置:

<managed-bean-name>myBean</managed-bean-name>
<managed-bean-class>beans.MyBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<managed-property>
    <property-name>animals</property-name>
    <list-entries>
        <value>Cat</value>
        <value>Dog</value>
    </list-entries>
</managed-property> 

为myBean

private String animal;
private List<SelectItem> animals;

public String getAnimal() {
    return animal;
}

public void setAnimal(String animal) {
    this.animal = animal;
}

public void setAnimals(List<String> items) {     
    animals = new ArrayList<SelectItem>();
    for (String item : items){
      animals.add(new SelectItem(item));
    }
}

public List<SelectItem> getAnimals() {        
    return animals;
}

的index.xhtml

<h:form>
    <h:inputText value="#{myBean.name}"/>
    <h:inputText value="#{myBean.age}"/>
    <h:selectOneMenu id="animal" value="#{myBean.animal}">
        <f:selectItems value="#{myBean.animals}"/>
    </h:selectOneMenu>

    <h:commandButton value="press" action="page2"/>
</h:form>

0 个答案:

没有答案