質問:
p に値を渡すことは可能ですか: JavaScriptのremoteCommandコンポーネント?その場合、これらの値をバッキング Bean でどのように受け取ることができますか?
答え:
はい、JavaScript から p:remoteCommand にパラメータを渡すことは可能です。このアプローチは、使用されている PrimeFaces のバージョンによって異なります。
PrimeFaces 3.3 以降の場合は、次の構文を使用します。
increment([{name:'x', value:10}, {name:'y', value:20}]);
これにより、複数の同じパラメータ名の値。単一の値を持つパラメータは、バッキング Bean でリクエストスコープのプロパティとしてアクセスできます。
@ManagedProperty("#{param.x}") private int x; @ManagedProperty("#{param.y}") private int y;
PrimeFaces 3.2 以降の場合は、次の構文を使用します。
increment({param1:'val1', param2:'val2'});
これらのパラメータは、RequestParameterMap を使用してバッキング Bean でアクセスできます。
Map<String, String> params = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap(); String param1 = params.get("param1"); String param2 = params.get("param2");
複数の値を持つパラメータを渡すには、次の構文を使用します。 (PrimeFaces 3.3 以降):
functionName([{name:'foo', value:'one'}, {name:'foo', value:'two'}, {name:'foo', value:'three'}]);`
これは、paramValues 属性を使用して管理プロパティとしてバッキング Bean でアクセスできます:
@ManagedProperty("#{paramValues.foo}") private String[] foos;
以上がJavaScript から p:remoteCommand にパラメータを渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。