このシナリオでは、JavaScript から p:remoteCommand に値を渡します。 PrimeFaces のバージョンに応じて、これを実現する方法は次のとおりです。
バージョン 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>
バージョン 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>
以上がPrimeFaces の JavaScript から p:remoteCommand にパラメータを渡す方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。