Maison >interface Web >js tutoriel >Comment transmettre des paramètres à p:remoteCommand depuis JavaScript ?
Question :
Est-il possible de transmettre des valeurs au p : composant remoteCommand à partir de JavaScript ? Si oui, comment ces valeurs peuvent-elles être reçues dans le backing bean ?
Réponse :
Oui, il est possible de transmettre des paramètres à p:remoteCommand depuis JavaScript. L'approche dépend de la version de PrimeFaces utilisée.
Pour PrimeFaces 3.3 et plus récent, utilisez la syntaxe suivante :
increment([{name:'x', value:10}, {name:'y', value:20}]);
Cela permet plusieurs valeurs avec le même nom de paramètre. Les paramètres avec des valeurs uniques sont accessibles dans le bean de support en tant que propriétés à l'échelle de la requête :
@ManagedProperty("#{param.x}") private int x; @ManagedProperty("#{param.y}") private int y;
Pour PrimeFaces 3.2 ou version antérieure, utilisez la syntaxe suivante :
increment({param1:'val1', param2:'val2'});
Ces paramètres sont accessibles dans le backing bean à l'aide de RequestParameterMap :
Map<String, String> params = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap(); String param1 = params.get("param1"); String param2 = params.get("param2");
Pour transmettre des paramètres avec plusieurs valeurs, utilisez la syntaxe suivante (PrimeFaces 3.3 ou plus récent) :
functionName([{name:'foo', value:'one'}, {name:'foo', value:'two'}, {name:'foo', value:'three'}]);`
Ceci est accessible dans le backing bean en tant que propriété gérée avec l'attribut paramValues :
@ManagedProperty("#{paramValues.foo}") private String[] foos;
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!