JSF selectOneMenu selectItem toujours null
Je suis en train de mettre en œuvre un programme d'ACI selectOneMenu élément avec un backing bean holding
la sélection. Le problème est que le selectedItem est toujours null. Ici
le code est:
.xhtml:
<h:selectOneMenu
value="#{componentFilterBean.selectedItem}">
<f:selectItems value="#{componentFilterBean.projects}" />
</h:selectOneMenu>
Bean:
public class ComponentFilterBean {
String selectedItem = null;
private List<SelectItem> selectItems = null;
public String getSelectedItem() {
System.out.println("getSelectedItem = " + selectedItem);
return selectedItem;
}
public void setSelectedItem(String selectedItem) {
this.selectedItem = selectedItem;
System.out.println("setSelectedItem = " + selectedItem);
}
public List<SelectItem> getProjects() {
if (selectItems == null) {
selectItems = new ArrayList<SelectItem>();
selectItems.add(new SelectItem("Project1", "Project1"));
selectItems.add(new SelectItem("Project2", "Project2"));
selectItems.add(new SelectItem("Project3", "Project3"));
}
return selectItems;
}
}
faces-config.xml:
<managed-bean>
<managed-bean-name>componentFilterBean</managed-bean-name>
<managed-bean-class>test.ComponentFilterBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
Je suis en utilisant le soleil de mise en œuvre (version 1.2). Le problème apparaît sur la Jetée 6
et WebSphere 6.1.
Quelqu'un peut-il m'aider avec ce problème?
Christian
- est le compositeur s'appelle? (I. e. est tout ce qui est imprimé sur la console). En outre, ajouter un <h:messages> marque, de sorte que les erreurs de validation sont visibles
- Le setter est appelé, il imprime la valeur null. J'ai ajouté à la page: <h:messages layout="table" styleClass="error"/> Aucune erreur n'est affichée.
- avez-vous des
<h:form>
? - J'ai ajouté un <h:form>. Maintenant, il fonctionne. Merci pour votre aide.
InformationsquelleAutor Christian | 2010-01-26
Vous devez vous connecter pour publier un commentaire.
J'ai oublié quelque chose: j'ai ajouté un
<h:form>
et j'ai eu à faire ce qui suit:Ce que je ne comprends pas, c'est que dans les exemples sur le net, personne ne fait de cette façon.