2010-02-24 9 views
7

Ich gebe zwei output-Anweisungen, eine am Anfang von "save()" und eine am Ende für eine benutzerdefinierte JSF-Komponente. Das "saveState()" befindet sich in dem UIComponent-Objekt. Warum werden meine Ausgabeanweisungen zweimal gedruckt? Grundsätzlich ist das, was ich seheIn JSF wird die Methode "saveState()" zweimal aufgerufen. Warum?

"entering save" 
"ending save" 
"entering save" 
"ending save" 

Danke.

Antwort

1

Die Methode wird in zwei verschiedenen Phasen aufgerufen. Während Sie teure Operationen von der Steuerung aufrufen, überprüfen Sie die Phasen und rufen Sie nur eine geeignete Phase an. Beispielsweise möchten Sie die Ladeverfahren in der Render-Antwortphase aufrufen.

0

Es sieht so aus, als ob eine der jsf-Phasen zweimal aufgerufen wird. Versuchen Sie debug your app!
Ist eine Umleitung beteiligt?

0

Möglicherweise gibt es 2 Threads, die dieselben Ausdrucke ausführen. Legen Sie einen Haltepunkt fest und Sie werden sehen: D

Verwandte Themen