2010-12-27 14 views
2

Ich habe ein Kombinationsfeld (Dropdown-Liste) und ein Textfeld auf der Seite. Beide müssen auf "True" gesetzt sein. Wenn ich einen Wert in der Dropdown-Liste auswähle und das Formular absende, wird die Validierung gestartet und ich werde auf die gleiche Seite umgeleitet, da der Wert des Textfelds null ist. Was gut ist, aber ich verliere die Daten in der Dropdown-Liste ausgewählt. Wie kann ich die Formulardaten bei einem Validierungsfehler behalten? Ich benutze facelets mit jsf1.2.Wiederherstellen von Formulardaten nach Validierungsfehler in JSF

Antwort

1

HI,

Es funktioniert gut in JSF 2.0. Ich habe es gerade ausprobiert. Ich habe den folgenden Code geschrieben:

<f:view> 
     <h:form> 
      <h:inputText id="name" value="#{jsfBean.name }" required="true"/> 
      <h:selectOneMenu id="items" value="#{jsfBean.selectedItem }" required="true"> 
       <f:selectItems value="#{jsfBean.items }"/> 
      </h:selectOneMenu> 
      <h:commandButton id="submit" value="Submit" action="#{jsfBean.submit }" /> 
     </h:form> 
    </f:view> 

private String selectedItem; 
private ArrayList<SelectItem> items = null; 
public String getSelectedItem() { 
    this.selectedItem = "--Select--"; 
    return selectedItem; 
} 
public void setSelectedItem(String selectedItem) {  
    this.selectedItem = selectedItem; 
} 
public ArrayList<SelectItem> getItems() { 
    this.items = new ArrayList<SelectItem>(); 
    SelectItem selectItem = new SelectItem("1","1"); 
    SelectItem selectItem1 = new SelectItem("--Select--","--Select--"); 
    this.items.add(selectItem); 
    this.items.add(selectItem1); 
    return items; 
} 
public void setItems(ArrayList<SelectItem> items) { 
    this.items = items; 
} 
+0

Es funktioniert in JSF 1.2 auch. Sobald ich in dem Artikel gelesen habe, dass es einen Fehler in SelectMenu gibt, um den Wert beizubehalten. Können Sie auf die neueste Version 1.2.X updaten und es ausprobieren? – Krishna

Verwandte Themen