Maison > interface Web > js tutoriel > Comment puis-je déclencher un bean géré JSF à partir d'un événement DOM HTML JavaScript natif ?

Comment puis-je déclencher un bean géré JSF à partir d'un événement DOM HTML JavaScript natif ?

Patricia Arquette
Libérer: 2024-12-08 16:00:23
original
443 Les gens l'ont consulté

How Can I Trigger a JSF Managed Bean from a Native JavaScript HTML DOM Event?

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

Manipulation de beans gérés par JavaServer Faces lors d'événements HTML DOM à l'aide de natifs JavaScript peut être réalisé par diverses méthodes. Alors que jQuery offre une solution simple avec sa fonction $(document).ready(), JSF propose différentes approches qui s'intègrent parfaitement à son framework.

Utilisation de h:commandScript (JSF 2.3)

Le Le composant permet d'exécuter des actions de bean dans JavaScript sans recourir à une bibliothèque externe comme jQuery. Il crée une fonction JS qui peut être invoquée manuellement ou automatiquement lors de l'événement de chargement DOM en définissant autorun="true". Par exemple :

<h:form>
    <h:commandScript name="commandName" action="#{bean.action}" render=":results" autorun="true" />
</h:form>
Copier après la connexion

Utilisation de p:remoteCommand (PrimeFaces)

PrimeFaces fournit , un composant qui s'intègre de manière transparente à son Moteur Ajax basé sur jQuery. Comparé à , il utilise jQuery pour déclencher la requête Ajax.

<h:form>
    <p:remoteCommand name="commandName" action="#{bean.action}" update=":results" autoRun="true" />
</h:form>
Copier après la connexion

Utilisation de o:commandScript (OmniFaces)

Si votre application utilise OmniFaces, vous pouvez remplacer avec , qui offre des fonctionnalités identiques mais est compatible avec les anciennes versions de JSF 2.x.

<o:form>
    <o:commandScript name="commandName" action="#{bean.action}" render=":results" autorun="true" />
</o:form>
Copier après la connexion

Hidden Form Trick

Un autre L'option implique une astuce de "formulaire caché", où un formulaire contenant un bouton de commande est rendu sur la page mais masqué à l'aide de CSS. Le bouton peut être déclenché à l'aide de la méthode onclick() de JavaScript.

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

Custom UIComponent

Pour les scénarios avancés, vous pouvez créer un UIComponent personnalisé extension de UICommand qui génère l'appel natif jsf.ajax.request() de JSF. Cette approche offre une personnalisation et un contrôle complets sur le comportement Ajax.

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