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