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

Comment appeler des beans gérés JSF sur des événements HTML DOM à l'aide de JavaScript ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-06 02:53:111021parcourir

How to Invoke JSF Managed Beans on HTML DOM Events Using JavaScript?

Invocation d'un bean géré JSF sur un événement HTML DOM à l'aide de JavaScript natif

Dans le développement Web, il devient nécessaire d'exécuter des actions côté serveur en fonction d'événements spécifiques se produisant sur le client -côté. Ceci est réalisable dans JavaServer Faces (JSF) en employant diverses approches. Une de ces approches consiste à invoquer une méthode d'action de bean géré par JSF à l'aide d'Ajax lors d'un événement de chargement HTML DOM.

Le de JSF 2.3

Dans JSF 2.3 et supérieur, le Le composant fournit une solution directe :

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

Ce script peut être invoqué en utilisant du JavaScript simple :

commandName();

La configuration de autorun="true" le déclenche pendant le chargement du DOM.

PrimeFaces

Si PrimeFaces est utilisé, envisagez d'utiliser son :

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

L'invocation est similaire à :

commandName();

PrimeFaces utilise jQuery pour les appels AJAX, et non jsf.ajax natif JSF. request().

OmniFaces

Pour les versions JSF antérieures à 2.3, OmniFaces propose , qui sert le même objectif que :

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

Remplacez simplement h:commandScript par o:commandScript.

'Formulaire caché' Astuce

Une approche alternative consiste à utiliser un formulaire caché avec un  :

<h:form>

Invocation :

document.getElementById("form:button").onclick();

Custom UIComponent

En dernier recours, on peut développer un UIComponent personnalisé qui étend UICommand et exploite jsf.ajax.request().

En résumé, ces approches permettent aux développeurs d'invoquer des beans gérés JSF sur des événements HTML DOM à l'aide de JavaScript natif. Le choix de la méthode dépend de facteurs tels que la version JSF, l'utilisation de la bibliothèque et les contraintes du projet.

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