gpt4 book ai didi

javascript - 将参数传递给 p :remoteCommand from JavaScript

转载 作者:行者123 更新时间:2023-11-28 03:18:23 31 4
gpt4 key购买 nike

我想从 javascript 将值传递给 remoteCommand。如果这是可能的,我该如何做到这一点以及如何在支持 bean 中接收它们?

最佳答案

是的,这是可能的。如何执行此操作取决于 PrimeFaces 版本。您可以在 PrimeFaces users guide 中看到它.

PrimeFaces 3.3 或更高版本

自 PrimeFaces 3.3 版起,语法如下(从 3.3 用户指南复制粘贴)。

3.81 RemoteCommand

...

Passing Parameters

Remote command can send dynamic parameters in the following way;

increment([{name:'x', value:10}, {name:'y', value:20}]);

这种方式提供了在单个参数名称上指定多个值的可能性。像上面这样的具有单个值的参数的获取方式与旧方式相同:

@ManagedProperty("#{param.x}")
private int x;

@ManagedProperty("#{param.y}")
private int y;

(注意:您可以在 Mojarra 中使用 Integer,但不能在 MyFaces 中使用,这与 <p:remoteCommand> 完全无关)

或者在范围更广的 bean 方法中:

Map<String, String> params = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
int x = Integer.valueOf(params.get("x"));
int y = Integer.valueOf(params.get("y"));

如果您需要指定具有多个值的参数,则可以按如下方式进行:

functionName([{name:'foo', value:'one'}, {name:'foo', value:'two'}, {name:'foo', value:'three'}]);`

在请求作用域 bean 中:

@ManagedProperty("#{paramValues.foo}")
private String[] foos;

或者在范围更广的 bean 方法中:

Map<String, String[]> paramValues = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterValuesMap();
String[] foos = paramValues.get("foo");
<小时/>

PrimeFaces 3.2 或更高版本

PrimeFaces 3.3 版之前,语法如下(从 3.2 用户指南复制粘贴):

3.80 RemoteCommand

...

Passing Parameters

Remote command can send dynamic parameters in the following way;

increment({param1:'val1', param2:'val2'});

它可以通过通常的方式在支持 bean 中使用。例如。在请求范围的 bean 中:

@ManagedProperty("#{param.param1}")
private String param1;

@ManagedProperty("#{param.param2}")
private String param2;

或者在范围更广的 bean 方法中:

Map<String, String> params = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
String param1 = params.get("param1");
String param2 = params.get("param2");

但是,这种方法的缺点是您无法像普通 HTML 表单和 HTTP 请求参数那样指定具有多个值的单个参数(这在现实世界中用于例如多选下拉列表和多选复选框组)。

<小时/>

另请参阅:

关于javascript - 将参数传递给 p :remoteCommand from JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59428419/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com