2016-07-31 10 views
1

In meiner .xhtml-Datei habe ich eine Schaltfläche, die eine Methode von meinem ManagedBean aufruft. Diese Methode sollte einige Tests ausführen und wenn diese Tests fehlschlagen, sollte ein Pop-up mit einer Warnung oder einem Fehler angezeigt werden. Die Warnung sollte den zukünftigen Fluss nicht beeinflussen, aber der Fehler sollte sie stoppen.JSF eine Methode aufrufen und ein Modal in bestimmten Fällen anzeigen

Wie kann ich ein Popup vom Backend starten?

Antwort

-1

Einfach gesagt, Sie starten keine Pop-ups vom Back-End. Ihre Backing-Beans haben kein Verständnis für das DOM oder den Browser. Sie können jedoch den Status in einer Backing-Bean speichern und einen bestimmten HTML- oder JavaScript-Block basierend auf diesem Status rendern. Dazu können Sie das rendered="#{mybean.myboolean}" Attribut in Verbindung mit einem update="elementID" auf Ihrer Schaltfläche verwenden. Wenn Sie auf die Schaltfläche klicken, wird ein Element mit der angegebenen ID auf dem Server erneut gerendert und in das DOM injiziert. Wenn es HTML- oder JS-Code für ein Popup enthält, wird es angezeigt.

Sehen Sie hier für ein schönes Beispiel: Ajax update and submission using h:commandButton

Oder Sie könnten die JSF-Nachrichten Komponente versuchen: http://www.mkyong.com/jsf2/jsf-2-message-and-messages-example/

EDIT: da Sie werden mit PrimeFaces scheinen, könnte man auch in Dialogs aussehen wollen und Validation.

+0

Ihre Antwort scheint gültig, ich werde es versuchen, und komm zurück – user6346756