プロジェクトの場合、faces-config ファイルで初期化されたリストの値を selectonemenu に入力する必要があります。正しい答えが見つからないようです。誰かが答えてくれることを願っています。
face-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;
}
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>