ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript から p:remoteCommand にパラメータを渡すにはどうすればよいですか?

JavaScript から p:remoteCommand にパラメータを渡すにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-24 11:41:02499ブラウズ

How to Pass Parameters to p:remoteCommand from JavaScript?

JavaScript から p:remoteCommand にパラメータを渡す

質問:

p に値を渡すことは可能ですか: JavaScriptのremoteCommandコンポーネント?その場合、これらの値をバッキング Bean でどのように受け取ることができますか?

答え:

はい、JavaScript から p:remoteCommand にパラメータを渡すことは可能です。このアプローチは、使用されている PrimeFaces のバージョンによって異なります。

PrimeFaces 3.3 以降

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 以降

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;

追加リソース

  • [CDI および JSF2 を使用した依存関係注入リクエスト パラメーター](https://stackoverflow.com/questions/2644660/dependency-inject-request-parameter-with-cdi-and-jsf2)
  • [方法ネイティブ JavaScript を使用して HTML DOM イベントで JSF マネージド Bean を呼び出すには?](https://stackoverflow.com/questions/1840238/how-to-invoke-a-jsf-managed-bean-on-a-html-dom -event-using-native-javascript)

以上がJavaScript から p:remoteCommand にパラメータを渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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