Maison >interface Web >js tutoriel >Comment puis-je appeler des beans gérés JSF à partir d'événements HTML DOM à l'aide de JavaScript ?

Comment puis-je appeler des beans gérés JSF à partir d'événements HTML DOM à l'aide de JavaScript ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-05 14:09:11814parcourir

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

Invocation de beans gérés JSF à partir d'événements HTML DOM à l'aide de JavaScript natif

En utilisant le JavaScript généré par JSF, vous pouvez exécuter des actions de beans gérés en réponse à des événements HTML DOM, similaires à celles de jQuery événement document.ready.

Options pour appeler le bean géré Actions :

1. h:commandScript (JSF 2.3)

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

<h:panelGroup>

Invocation JavaScript :

commandName(); // Invoke the action method

2. p:remoteCommand (PrimeFaces)

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

<h:panelGroup>

Invocation JavaScript :

commandName(); // Invoke the action method

3. o:commandScript (OmniFaces - Disponible dans les anciennes versions JSF)**

Remplacez h: par o: dans l'exemple h:commandScript.

4. Astuce de formulaire caché

<h:form>

Invocation JavaScript :

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

5. Custom UIComponent

Étendez UICommand et générez l'appel jsf.ajax.request() dans le composant personnalisé.

Invocation d'événement DOM :

Pour invoquer l'action du bean géré lors du chargement du DOM, utilisez JS pour déclencher l'événement côté client. Par exemple, avec la méthode h:commandScript :

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

Avec l'astuce du formulaire caché, placez l'invocation JavaScript dans un h:outputScript avec target="body":

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn