我在 JS 代码中有一个 for 循环,我想调用一个方法,该方法的参数写在 JAVA 托管 bean 中,该方法计算一个值并返回一个将在 JS 中使用的新值
注意:我在 xhtml 页面中使用 primefaces
并可手动显示数据
这就是我的js的样子
function updateMoneyValue(){
var thetable; //the handsonTable
for (var i =0 ; i < thetable.length ; i++)
{
var myNewValue = theBeanMethod (firstParam , secondParam);
}
}
您可以使用PrimeFaces 远程命令组件 http://www.primefaces.org/showcase/ui/ajax/remoteCommand.xhtml (<p:remoteCommand>
).
RemoteCommand 允许执行支持 bean 方法并执行部分操作
由自定义客户端脚本触发的更新。这个例子
演示了一个用例,其中页面的特定部分可以是惰性的
按需加载。
通过以下方式将其添加到视图中:
<p:remoteCommand name="myRemote" actionListener="#{myBean.listen}"/>
并在 Javascript 中使用它,如下所示:
<script type="text/javascript">
myRemote(); //makes a remote call
</script>
或者从事件处理程序中调用它,如下所示:
<div onclick="myremote();">...</div>
如果您还想将参数传递给服务器,请进行以下调用:
<script type="text/javascript">
myRemote([{name:'param1', value:150}, {name:'param2', value:220}]); //makes a remote call with parameters
</script>
听众可能是这样的:
public void listen(){
FacesContext context = FacesContext.getCurrentInstance();
Map<String,String> params = context.getExternalContext().getRequestParameterMap();
System.out.println(params.get("param1"));
System.out.println(params.get("param2"));
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)