Wie rendere ich einen Teil einer Seite mit Formular in JSF 2.0?

Derzeit versuchen wir, von JSF 1.2 zu JSF 2.0 zu wechseln, und eines der Probleme ist, dass es unmöglich ist, einen Teil der Seite, die Formulare enthält, erneut zu rendern. So (rerenderouterDiv oder bildet sich selbst):

<code><h:panelGroup id="outerDiv">
    <h:form id="form1">...</h:form>
    <h:form id="form2">...</h:form>
</h:panelGroup>
</code>

Ich meine das, wenn ich aktualisiereouterDiv Alles wird aktualisiert, aber die Form (oder Formen) selbst werden kaputt und verhalten sich seltsam. Zumindest funktionieren Ajax-Aufrufe entweder nicht, wenn sie zum ersten Mal ausgelöst werden, oder anstatt die Methode eines Beans aufzurufen, erstellen sie eine neue Instanz dieser Bean und tun nichts (entweder mit) bei jedem Anruf die vorherige löschen oder beim ersten Anruf eine neue erstellen und dann nichts tun). Das Problem kann gelöst werden, indem nur Komponenten innerhalb des Formulars erneut gerendert werden (UpdateinnerDiv1 undinnerDiv2):

<code><h:panelGroup id="outerDiv">
   <h:form id="form1">
       <h:panelGroup id="innerDiv1">...</h:panelGroup>
   </h:form>
   <h:form id="form2">
       <h:panelGroup id="innerDiv2">...</h:panelGroup>
   </h:form>
</h:panelGroup>
</code>

Aber wir haben viele Stellen, an denen wir Seiten mit aufnehmenui:include und es ist nicht sehr praktisch, in diese Seite zu schauen und dort bestimmte Komponenten zu aktualisieren. Außerdem müssen wir alle diese Seiten ändern, da viele von ihnen keine gemeinsamen Wrapper-Div-Formulare enthalten und die einzelnen Komponenten separat aktualisieren. Dies ist sehr umständlich und fehleranfällig.
Ist es also möglich, dass JSF 2.0 einen Teil der Seite mit dem ersten Ansatz wie in JSF 1.2 korrekt aktualisiert?

BEARBEITEN: Es sieht so aus, als ob das Problem beim Rendern von Formularen das Problem von RichFaces 4.2 ist, wie ich es verwendea4j:ajax (Nachfolger vona4j:support das wurde mit richfaces 3.3.3) und benutzerdefinierten Schaltflächen basierend auf verwendetrich:commandButton. Als ich sie durch native jsf's ersetztef:ajax Formulare scheinen korrekt aktualisiert zu werden. Aber das Problem mit dem äußeren Div ist immer noch aktuell

Antworten auf die Frage(1)

Ihre Antwort auf die Frage