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

PrimeFaces の JavaScript から p:remoteCommand に値を渡す方法は?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-24 22:02:30567ブラウズ

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

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

質問:

PrimeFaces p に値を渡すことは可能ですか? :remoteCommand を JavaScript から使用できますが、その方法は何ですか?

答え:

はい、JavaScript から p:remoteCommand にパラメータを渡すことができます。構文とアプローチは PrimeFaces のバージョンによって異なります:

PrimeFaces 3.3 以降

PrimeFaces 3.3 以降、構文は次のように変更されました:

<code class="javascript">increment([{name:'x', value:10}, {name:'y', value:20}]);</code>

これにより、次のように渡すことができます。パラメータ名の複数の値。単一値パラメータには以前と同様にアクセスできます:

@ManagedProperty("#{param.x}")
private int x;

@ManagedProperty("#{param.y}")
private int y;

PrimeFaces 3.2 以前

PrimeFaces 3.3 より前の構文は次のとおりです:

<code class="javascript">increment({param1:'val1', param2:'val2'});</code>

バッキングBean では、パラメータには次の方法でアクセスできます。

@ManagedProperty("#{param.param1}")
private String param1;

@ManagedProperty("#{param.param2}")
private String param2;

複数値パラメータ

PrimeFaces 3.3 以降では、次のように複数の値を持つパラメータを指定できます。

<code class="javascript">functionName([{name:'foo', value:'one'}, {name:'foo', value:'two'}, {name:'foo', value:'three'}]);</code>

これらのパラメータは、リクエスト スコープの Bean:

@ManagedProperty("#{paramValues.foo}")
private String[] foos;

またはより広いスコープの Bean のメソッドでアクセスできます:

<code class="java">Map<String, String[]> paramValues = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterValuesMap();
String[] foos = paramValues.get("foo");</code>

追加リソース:

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

以上がPrimeFaces の JavaScript から p:remoteCommand に値を渡す方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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