h:selectBooleanCheckbox nicht immer gesetzt, mit den richtigen Wert

Versionen :

Aapche MyFaces 2.1.14
RichFaces 4.3.5

Problem :

Ich bin mit sehr seltsamen Problem für JSF2.1

Wie gezeigt in code-snippet am Ende , boolean-Kontrollkästchen ist deaktiviert, basierend auf booleschen variable #{bean.disabled}.
Die Frage ist unten :

1)Erste #{bean.disabled} zu false ausgewertet wird, so aktiviert ist.
Benutzer klickt auf die checkbox aus und sendet das Formular (form ist hier nicht gezeigt )

2)Die action-Methode legt die disabled = true und required= true und der gleichen Seite gerendert wird, wieder

3)In dieser Phase , UI-check-box angeklickt und deaktiviert. Wenn in dieser Phase , form ist
erneut vorgelegt, bean.setRequired - Methode aufgerufen wird, mit Set-Wert als FALSE in der Erwägung, dass festgelegt werden sollte, die es mit dem Wert TRUE

4)Als ich disabled="#{false}" dieses Problem verschwunden und Bohne.setRequired-Methode aufgerufen wird, mit Set-Wert als TRUE

Also Frage ist warum ist das Verhalten der in Schritt 3 beobachtet, obwohl UI-zeigt das Kontrollkästchen im angeklickten Zustand (dh es hat einen Wert als TRUE habe ich auch gedruckt
bean.gewünschten Wert und auswerten zu TRUE nur

Code :

        <h:panelGroup>

            <h:selectBooleanCheckbox id="invite" disabled="#{bean.disabled}" value="#{bean.required}" />

                <h:outputText value="Do Update"/>
         </h:panelGroup>    
  • Ist die c:if Stück relevant für die Frage?
  • Biker : es ist nicht wirklich keine Relevanz
  • Dann entfernen Sie es aus der Frage. Fragen enthalten soll, die minimalen code-Stück zu zeigen, das problem.
  • Was den Umfang der backing-bean?
  • Biker : entfernt den unnötigen Teil von Frage
InformationsquelleAutor Atul | 2014-04-30
Schreibe einen Kommentar