首页 > web前端 > js教程 > 正文

如何在 PrimeFaces 中从 JavaScript 向 p:remoteCommand 传递参数?

DDD
发布: 2024-10-25 04:07:20
原创
560 人浏览过

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

从 JavaScript 向 p:remoteCommand 传递参数

在此场景中,您寻求从 JavaScript 向 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>
登录后复制

相关资源

  • [使用 CDI 和 JSF2 请求参数的依赖注入](https://stackoverflow.com /questions/16025098/dependency-inject-request-parameter-with-cdi-and-jsf2)
  • [使用本机 JavaScript 调用 JSF 托管 bean 事件](https://stackoverflow.com/questions/7120603 /如何调用-a-jsf-托管-bean-on-a-html-dom-event-using-native-javascript)

以上是如何在 PrimeFaces 中从 JavaScript 向 p:remoteCommand 传递参数?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!