首頁  >  文章  >  web前端  >  如何在 PrimeFaces 中從 JavaScript 向 p:remoteCommand 傳遞參數?

如何在 PrimeFaces 中從 JavaScript 向 p:remoteCommand 傳遞參數?

DDD
DDD原創
2024-10-25 04:07:20561瀏覽

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

從 JavaScript 傳遞到 p:remoteCommand 參數

在此場景中,您尋求從 JavaScript 傳遞值至 p:remoteCommand 向 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>

要將多個值傳遞給單一參數,請使用以下語法:

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

相關資源

  • 相關資源
[使用🎜>相關資源[使用🎜>相關資源[使用本機JavaScriptScript 呼叫JSF 託管bean 事件](https://stackoverflow.com/questions/7120603 /如何呼叫-a-jsf-託管-bean-on-a-html-dom-event-using-native-javascript)

以上是如何在 PrimeFaces 中從 JavaScript 向 p:remoteCommand 傳遞參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn