0

对于一个项目,我需要用 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> 

豆豆

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;
}

索引.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>
4

0 回答 0