問題:
是否可以將值傳遞給Java的RemoteCommand 元件?如果是這樣,如何在支援 bean 中接收這些值?
答案:
是的,可以從 JavaScript 將參數傳遞給 p:remoteCommand。此方法取決於所使用的 PrimeFaces 版本。
對於PrimeFaces 3.3 及更高版本,請使用以下語法:
increment([{name:'x', value:10}, {name:'y', value:20}]);
這允許多個具有相同參數名稱的值。具有單一值的參數可以在支援bean 中作為請求範圍的屬性進行存取:
@ManagedProperty("#{param.x}") private int x; @ManagedProperty("#{param.y}") private int y;
對於PrimeFaces 3.2 或更早版本,請使用以下版本語法:
increment({param1:'val1', param2:'val2'});
可以使用RequestParameterMap 在支援bean 中存取這些參數:
Map<String, String> params = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap(); String param1 = params.get("param1"); String param2 = params.get("param2");
要傳遞具有多個值的參數,請使用以下語法(PrimeFaces 3.3 或更高版本):
functionName([{name:'foo', value:'one'}, {name:'foo', value:'two'}, {name:'foo', value:'three'}]);`
可以在支援bean 中使用paramValues 屬性將其作為託管屬性進行存取:
@ManagedProperty("#{paramValues.foo}") private String[] foos;
以上是如何從 JavaScript 傳遞參數到 p:remoteCommand?的詳細內容。更多資訊請關注PHP中文網其他相關文章!