問題:
是否可以將值傳遞給PrimeFaces p來自Script的:remoteCommand,如何完成?
答案:
是的,可以從 JavaScript 將參數傳遞給 p:remoteCommand。語法和方法取決於PrimeFaces 版本:
自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.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>
其他資源:
以上是如何在 PrimeFaces 中從 JavaScript 向 p:remoteCommand 傳遞值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!