ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScriptからPrimeFacesのp:remoteCommandにパラメータを渡す方法は?

JavaScriptからPrimeFacesのp:remoteCommandにパラメータを渡す方法は?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-24 14:01:31416ブラウズ

How to Pass Parameters to p:remoteCommand in PrimeFaces from JavaScript?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。