Maison >interface Web >js tutoriel >Comment transmettre des paramètres à p:remoteCommand dans PrimeFaces à partir de JavaScript ?
Passer des paramètres à p:remoteCommand à partir de JavaScript
Le composant p:remoteCommand dans PrimeFaces fournit un moyen pratique d'exécuter des actions côté serveur à partir de JavaScript. La transmission de paramètres à la commande distante est possible, permettant un transfert dynamique de données entre le client et le serveur.
PrimeFaces 3.3 et plus récent
Dans PrimeFaces 3.3 et versions plus récentes, la syntaxe pour transmettre les paramètres à p:remoteCommand a changé. Vous pouvez spécifier plusieurs valeurs pour un seul paramètre en utilisant la syntaxe suivante :
functionName([{name:'x', value:10}, {name:'y', value:20}]);
Dans le backing bean, vous pouvez accéder à ces paramètres en utilisant "@ManagedProperty" ou via des cartes de paramètres de requête :
@ManagedProperty(value = "#{param.x}") private int x; @ManagedProperty(value = "#{param.y}") private int y;
<code class="java">Map<String, String> params = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap(); int x = Integer.valueOf(params.get("x")); int y = Integer.valueOf(params.get("y"));</code>
PrimeFaces 3.2 et versions antérieures
Dans PrimeFaces 3.2 et versions antérieures, la syntaxe de transmission des paramètres était la suivante :
increment({param1:'val1', param2:'val2'});
Dans le support bean, vous pouvez accéder aux paramètres de la même manière que décrit pour PrimeFaces 3.3 ou version ultérieure.
Remarque concernant les valeurs multiples
Avant PrimeFaces 3.3, il n'était pas possible de transmettre plusieurs valeurs pour un seul paramètre. Pour surmonter cette limitation, vous pouvez utiliser la syntaxe suivante dans PrimeFaces 3.3 ou version ultérieure :
functionName([{name:'foo', value:'one'}, {name:'foo', value:'two'}, {name:'foo', value:'three'}]);
Dans le bean de sauvegarde, vous pouvez accéder à plusieurs valeurs pour un paramètre en utilisant "@ManagedProperty" ou via des cartes de valeurs de paramètres de requête. :
@ManagedProperty(value = "#{paramValues.foo}") private String[] foos;
<code class="java">Map<String, String[]> paramValues = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterValuesMap(); String[] foos = paramValues.get("foo");</code>
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!