3 Stimmen

Richfaces modalPanel laden mit Ajax

Ich verwende Richfaces in meinem Projekt und insbesondere den Tag rich:modalPanel, der es erlaubt, Popups in Seiten anzuzeigen.

Um dies zu tun, füge ich mein Popup wie folgt ein:

<ui:include src="popup.xhtml" />

Dieses Popup enthält diesen Code:

<rich:modalPanel id="sra" width="400" autosized="true" left="100" >
...
</rich:modalPanel>

Um schließlich das Popup anzuzeigen, mache ich dies auf der Hauptseite:

<a4j:commandLink id="linkSRA" value="#{msg['SRA']}" action="#{controller.checkSRA}" oncomplete="#{rich:component('sra')}.show()" />

Alles funktioniert gut, aber mein Problem ist das nächste:

Auf einer Seite habe ich viele Popups und jedes Popup ist in die Hauptseite integriert. Das Gewicht von diesem ist sehr groß für nichts. Also, wie kann ich tun, um den Inhalt des Popups in Ajax zu laden, wenn ich ein Popup laden möchte?

Danke

2voto

Max Katz Punkte 1582

Geben Sie den Inhalt des Panels über eine Aktion neu wieder und öffnen Sie dann das Modal in oncomplete=" "

0voto

Nicolas Labrot Punkte 3863

Ich habe einen kleinen Artikel geschrieben: "How to create a stateful Richfaces popup", in dem ich zeige, wie man einen Popup-Controller erstellt. Dieser Popup-Controller erlaubt es, alle modalen Tags mit ein paar Zeilen zu ersetzen:

<a4j:outputPanel binding="#{popupController.popupContainer}" id="popupContainer">
<c:forEach items="#{popupController.popups}" var="popup">
<f:subview id="popupView#{popup.id}">
<ui:include src="#{popup.uri}">
<ui:param name="popupBean" value="#{popup.popupBean}"/>
</ui:include>
</f:subview>
</c:forEach>
</a4j:outputPanel> 

Der Artikel ist verfügbar aquí . Er ist leider zu lang, um ihn hier direkt einzufügen.

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