ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScriptからPrimeFacesのp:remoteCommandにパラメータを渡す方法は?
JavaScript から p:remoteCommand にパラメータを渡す
PrimeFaces の p:remoteCommand コンポーネントは、サーバー側アクションを実行する便利な方法を提供します。 JavaScript。リモート コマンドにパラメータを渡すことが可能で、クライアントとサーバー間の動的なデータ転送が可能になります。
PrimeFaces 3.3 以降
PrimeFaces 3.3 以降のバージョンでは、構文p:remoteCommand にパラメータを渡すための機能が変更されました。次の構文を使用して、単一のパラメータに複数の値を指定できます:
functionName([{name:'x', value:10}, {name:'y', value:20}]);
バッキング Bean では、「@ManagedProperty」またはリクエスト パラメータ マップを使用してこれらのパラメータにアクセスできます:
@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 およびそれ以前
PrimeFaces 3.2 およびそれ以前のバージョンでは、パラメータを渡すための構文は次のとおりでした。
increment({param1:'val1', param2:'val2'});
バッキング
複数の値に関する注意
PrimeFaces 3.3 より前では、PrimeFaces 3.3 以降で説明したように、パラメータに複数の値を渡すことはできませんでした。単一のパラメータ。この制限を克服するには、PrimeFaces 3.3 以降で次の構文を使用できます。
functionName([{name:'foo', value:'one'}, {name:'foo', value:'two'}, {name:'foo', value:'three'}]);
バッキング Bean では、「@ManagedProperty」を使用するか、リクエスト パラメータ値マップを介して、パラメータの複数の値にアクセスできます。 :
@ManagedProperty(value = "#{paramValues.foo}") private String[] foos;
<code class="java">Map<String, String[]> paramValues = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterValuesMap(); String[] foos = paramValues.get("foo");</code>
以上がJavaScriptからPrimeFacesのp:remoteCommandにパラメータを渡す方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。