JSF Ajax mit Facelets (PrimeFaces)

Dimarzio

Mitglied
Hallo zusammen,

Irgendwie bringe ich meine application nicht ganz richtig zum Laufen. So, wie aus dem Titel erkennbar ist benutze ich für mein Layout Facelets.
In meinem Masterlayout habe ich folgende Geschichte:

Code:
<ui:insert name="shoppingcartpanel">
    <ui:include src="shoppingcartpanel.xhtml"/>
</ui:insert>

Irgendwann dann kommt die erste Seite (startseite.xhtml), die von diesem Masterlayout erbt:

Code:
<ui:composition template="/templates/masterlayout.xhtml">
                           . . .   
<ui:define name="shoppingcartpanel">
    <ui:include src="shoppingcartpanel.xhtml"/>
</ui:define>
                          . . .
</ui:composition>

Wo mein Problem jetzt genau liegt: In der startseite.xhtml habe ich einen ajax link:
Code:
<p:commandLink ... update="targetID" />

Die Stelle, die aktualisiert werden muss liegt allerdings in shoppingcartpanel.xhtml:
Code:
<h:outputText ... id="targetID" />

und wird nach dem ajax request nicht aktualiesiert.

Das Problem ist also, dass Auslöser und Ziel in unterschiedlichen Templates liegen. Das Problem gibt's auch in RichFaces. Dort kann man das Problem umgehen, indem man den Tags dedizierte ID's vergibt. Das habe ich bereits ausprobiert: meine ID's werden trotzdem mit den impliziten ID's von PrimeFaces überschrieben...

Was mache ich falsch? Wer könnte mir helfen?
 
Gib mal deinen <h:form> tags das Attribut "prependId=false"

Na ja, das war das Erste was ich gemacht habe. Leider hat das gar nichts gebracht. Es funktioniert auch ganz gut, solange die Komponenten sich im gleichen Template befinden. Geht aber nicht, wenn die in unterschiedlichen Facelets liegen. Anscheinend geht da was nicht ganz richtig, wenn die Facelets zu einer Einheit zusammengefügt werden.

Die Hilfsbereitschaft von PrimeFaces Community lässt aber echt zu wünschen übrig... Mal sehen...
 
Hi,
ich habe mich seit einiger Zeit mit PF und kann aus Erfahrung sagen, dass Facelets in vielerlei Punkten schonmal für dieses Framework problematisch ist.

Na ja, das war das Erste was ich gemacht habe. Leider hat das gar nichts gebracht. Es funktioniert auch ganz gut, solange die Komponenten sich im gleichen Template befinden. Geht aber nicht, wenn die in unterschiedlichen Facelets liegen. Anscheinend geht da was nicht ganz richtig, wenn die Facelets zu einer Einheit zusammengefügt werden.
Hier gilt es also ein Ticket direkt bei Primefaces aufzumachen und zu hoffen, dass das Problem in den nächsten Versionen gefixt wird.

Die Hilfsbereitschaft von PrimeFaces Community lässt aber echt zu wünschen übrig... Mal sehen...

Die Primefaces Community als solches Existiert (noch) nicht. Es gibt zwei Leute, die alle Fragen beantworten.
 
Hi,
ich habe mich seit einiger Zeit mit PF und kann aus Erfahrung sagen, dass Facelets in vielerlei Punkten schonmal für dieses Framework problematisch ist.

Das ist natürlich Klasse! Die versprechen doch JSF 2.0 Support und siehe mal da, gibt's Probleme mit Facelets 🙂 Wer braucht die schon... Ist letztenendes egal. Ich habe mich mit JSF 2.0 zwangsweise beschäftigt und jetzt ist das Thema sowieso vom Tisch. Werde gleich den Thread als erledigt markieren und hoffentlich im Rest meines Lebens diesen Schwachsinn (JSF und all die Implementierungen/Libraries etc.) nie wieder anfassen.

Danke trotzdem!
 

Neue Themen


Zurück
Oben