Maison >interface Web >js tutoriel >Comment transmettre des valeurs à p:remoteCommand depuis JavaScript dans PrimeFaces ?

Comment transmettre des valeurs à p:remoteCommand depuis JavaScript dans PrimeFaces ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-24 22:02:30568parcourir

How to Pass Values to p:remoteCommand from JavaScript in PrimeFaces?

Passer des paramètres à p:remoteCommand depuis JavaScript

Question :

Est-il possible de transmettre des valeurs à un PrimeFaces p :remoteCommand depuis JavaScript, et comment cela peut-il être fait ?

Réponse :

Oui, il est possible de transmettre des paramètres à un p:remoteCommand depuis JavaScript. La syntaxe et l'approche dépendent de la version de PrimeFaces :

PrimeFaces 3.3 ou plus récent

Depuis PrimeFaces 3.3, la syntaxe a changé comme suit :

<code class="javascript">increment([{name:'x', value:10}, {name:'y', value:20}]);</code>

Cela permet de passer plusieurs valeurs pour un nom de paramètre. Les paramètres à valeur unique sont toujours accessibles comme avant :

@ManagedProperty("#{param.x}")
private int x;

@ManagedProperty("#{param.y}")
private int y;

PrimeFaces 3.2 ou versions antérieures

Avant PrimeFaces 3.3, la syntaxe était :

<code class="javascript">increment({param1:'val1', param2:'val2'});</code>

Dans le support bean, les paramètres sont accessibles via :

@ManagedProperty("#{param.param1}")
private String param1;

@ManagedProperty("#{param.param2}")
private String param2;

Paramètres à valeurs multiples

Dans PrimeFaces 3.3 ou plus récent, il est possible de spécifier des paramètres avec plusieurs valeurs, comme dans :

<code class="javascript">functionName([{name:'foo', value:'one'}, {name:'foo', value:'two'}, {name:'foo', value:'three'}]);</code>

Ces paramètres sont accessibles dans un bean de portée de requête :

@ManagedProperty("#{paramValues.foo}")
private String[] foos;

Ou dans une méthode d'un bean de portée plus large :

<code class="java">Map<String, String[]> paramValues = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterValuesMap();
String[] foos = paramValues.get("foo");</code>

Ressources supplémentaires :

  • [Paramètre de demande d'injection de dépendance avec CDI et JSF2](https://stackoverflow.com/questions/7941333/dependency-inject-request-parameter-with-cdi-and-jsf2)
  • [Comment invoquer un bean géré JSF sur un événement HTML DOM en utilisant du JavaScript natif ?](https://stackoverflow.com/questions/9169658/how-to-invoke-a-jsf-managed-bean -sur-un-événement-html-dom-utilisant-native-javascript)

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