6 Stimmen

Wie wird eine RichFaces-Komponente neu gerendert, nachdem ein 4j-Link aufgerufen wurde?

Ich hoffe, dass mir jemand bei einer kleinen Hürde helfen kann, die ich in Bezug auf das erneute Rendern von RichFaces-Komponenten nach der Ausführung eines a4j-Links/einer a4j-Schaltfläche überwunden habe. Eine vereinfachte Version von meinem Problem ist wie folgt:

Ich habe 2 Ausgabekomponenten, die einen Textwert anzeigen, die basierend auf einem Wert in meiner Managerklasse gerendert werden:

<h:outputText id="on" value="ON" rendered="#{manager.isOn}" />

<h:outputText id="off" value="OFF" rendered="#{not manager.isOn}" />

Ich habe auch 2 a4j-Verknüpfungen, die eine Aktion aufrufen und dann die oben genannten outputText-Komponenten erneut wiedergeben:

<a4j:commandLink ajaxSingle="true" value="Set On" action="#{manager.setOn(true)}" reRender="on,off" />

<a4j:commandLink ajaxSingle="true" value="Set Off" action="#{manager.setOn(false)}" reRender="on,off" />

Ich würde erwarten, dass beim Klicken auf die Schaltfläche "Einschalten" die Komponente "EIN" outputText eingeblendet wird und die Komponente "AUS" outputText angezeigt wird. Dies ist jedoch nicht der Fall.

Hat jemand die Antwort, warum dies so ist, und wie ich über Re-Rendering diese Komponenten gehen, nachdem die a4j-Komponente Aktion abgeschlossen ist?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X