Ich habe eine JSF-Seite mit einem Formular hat einen outputtext drin. Der Wert der outputtext-Komponente wird von einer Backing-Bean (oder verwalteten Bean) aufgerufen. Ich weiß, wenn ich es als # {MyBean.myString} Jsf es umbenennen und ruft getMyString() -Methode. Allerdings ist die seltsame Sache, wenn ich einen Breakpoint auf die Getter-Methode dieser Komponente gesetzt habe, sehe ich, dass es zweimal aufgerufen wird, während die Seite gerendert wird. Der Ausgabetext befindet sich in einer h: -Form und ist die einzige Komponente, die an eine Hintergrundbean bindet. Ich meine, es ist so seltsam, dass jsf den Wert bekommen sollte, wenn es zuerst zur Getter-Methode kommt, aber es muss zweimal zur Getter-Methode gehen. Können Sie erklären, was der Grund für dieses Verhalten in jsf ist?Zwischen einer JSF-Seite und einer verwalteten Bean, warum die Getter-Methode zweimal aufgerufen wird
Jede Hilfe würde geschätzt, Die besten Wünsche, Baris
Vielen Dank. BTW Ich finde es wert zu erwähnen, dass ich nicht meine Form submit, aber ich meine die erste Phase der Anfrage, wenn die Seite zum ersten Mal gerendert wird. Während dieses Prozesses wurde der Komponentenwert (die Getter-Methode) zweimal aufgerufen. Ich denke jedoch, wenn die Getter-Methode das erste Mal erreicht wird, muss sie den Wert der Variablen erhalten, nicht wahr? Ich werde die Artikel lesen, die Sie gepostet haben, und wenn Sie weitere Ideen dazu haben, würde ich mich freuen, wenn Sie mit mir teilen. Nochmals vielen Dank, Baris – Javatar
Dann haben Sie diese Eigenschaft zweimal in der Ansicht gebunden. Fügen Sie der Getter-Methode 'Thread.dumpStack()' hinzu, um mehr über den Aufruf-Stack zu erfahren, damit Sie herausfinden können, woher er stammt. – BalusC