Maison >interface Web >js tutoriel >Comment transmettre des valeurs à p:remoteCommand depuis JavaScript dans PrimeFaces ?
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 :
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;
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;
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 :
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!