Heim >Web-Frontend >js-Tutorial >Wie kann ich JSF-verwaltete Beans aus HTML-DOM-Ereignissen mithilfe von JavaScript aufrufen?

Wie kann ich JSF-verwaltete Beans aus HTML-DOM-Ereignissen mithilfe von JavaScript aufrufen?

Susan Sarandon
Susan SarandonOriginal
2024-12-05 14:09:11814Durchsuche

How Can I Call JSF Managed Beans from HTML DOM Events Using JavaScript?

Aufrufen von JSF-verwalteten Beans aus HTML-DOM-Ereignissen mit nativem JavaScript

Mit dem von JSF generierten JavaScript können Sie verwaltete Bean-Aktionen als Reaktion auf HTML-DOM-Ereignisse ausführen, ähnlich wie bei jQuery document.ready-Ereignis.

Optionen zum Aufrufen verwalteter Beans Aktionen:

1. h:commandScript (JSF 2.3)

<h:form>
    <h:commandScript name="commandName" action="#{bean.action}" render=":results" />
</h:form>

<h:panelGroup>

JavaScript-Aufruf:

commandName(); // Invoke the action method

2. p:remoteCommand (PrimeFaces)

<h:form>
    <p:remoteCommand name="commandName" action="#{bean.action}" update=":results" />
</h:form>

<h:panelGroup>

JavaScript-Aufruf:

commandName(); // Invoke the action method

3. o:commandScript (OmniFaces – verfügbar in älteren JSF-Versionen)**

Ersetzen Sie h: durch o: im h:commandScript-Beispiel.

4. Trick mit versteckten Formularen

<h:form>

JavaScript-Aufruf:

document.getElementById("form:button").onclick(); // Trigger the button click

5. Benutzerdefinierte UIComponent

Erweitern Sie UICommand und generieren Sie den Aufruf jsf.ajax.request() in der benutzerdefinierten Komponente.

DOM-Ereignisaufruf:

Zum Aufrufen Verwenden Sie für die verwaltete Bean-Aktion beim Laden des DOM JS, um das Ereignis auf der Clientseite auszulösen. Zum Beispiel mit der h:commandScript-Methode:

$(function () {
    commandName();
});

Platzieren Sie mit dem Trick mit versteckten Formularen den JavaScript-Aufruf in einem h:outputScript mit target="body":

<h:outputScript target="body">
    document.getElementById("form:button").onclick();
</h:outputScript>

Das obige ist der detaillierte Inhalt vonWie kann ich JSF-verwaltete Beans aus HTML-DOM-Ereignissen mithilfe von JavaScript aufrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn