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

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

DDD
DDDオリジナル
2024-10-25 04:07:20566ブラウズ

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

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

このシナリオでは、JavaScript から p:remoteCommand に値を渡します。 PrimeFaces のバージョンに応じて、これを実現する方法は次のとおりです。

PrimeFaces 3.3 以降

バージョン 3.3 以降、構文は進化しました。 PrimeFaces ユーザー ガイドに従って、パラメーターを渡す方法は次のとおりです。

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

バッキング Bean で、@ManagedProperty アノテーションを介してこれらのパラメーターにアクセスします。

<code class="java">@ManagedProperty("#{param.x}")
private int x;

@ManagedProperty("#{param.y}")
private int y;</code>

PrimeFaces 3.2 以降

バージョン 3.3 より前では、構文が異なりました。

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

バッキング Bean でのこれらのパラメータの取得は、上記と同じままです。

追加の注意

または、より広いスコープの Bean で FacesContext を使用してパラメータをフェッチすることもできます。

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

複数の値を 1 つのパラメータに渡すには、次の構文を使用します。

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

これらにアクセス@ManagedProperty または FacesContext を使用したバッキング Bean の値:

<code class="java">@ManagedProperty("#{paramValues.foo}")
private String[] foos;</code>

関連リソース

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

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

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