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
Libérer: 2024-12-06 02:53:11
original
1036 Les gens l'ont consulté

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>
Copier après la connexion

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

commandName();
Copier après la connexion
Copier après la connexion

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>
Copier après la connexion

L'invocation est similaire à :

commandName();
Copier après la connexion
Copier après la connexion

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>
Copier après la connexion

Remplacez simplement h:commandScript par o:commandScript.

'Formulaire caché' Astuce

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

<h:form>
Copier après la connexion

Invocation :

document.getElementById("form:button").onclick();
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal