问题:
是否可以将值传递给 p:来自 JavaScript 的 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中文网其他相关文章!