我在JS代码中有一个for循环,我想调用一个方法,该方法使用JAVA托管bean编写的参数计算一个值并返回一个将在JS中使用的新注释:我在xhtml页面中使用了primefaces和handontable显示数据
这就是我的js的样子
function updateMoneyValue(){
var thetable; //the handsonTable
for (var i =0 ; i < thetable.length ; i++)
{
var myNewValue = theBeanMethod (firstParam , secondParam);
}
}
3 回答
没有办法直接这样做 .
您的java / jsf代码在服务器上解析并执行,然后发送到客户端(浏览器) . 仅在浏览器中javascript开始执行 .
如果你想调用一些bean的方法并从client / javascript获取结果,你需要通过AJAX调用或某种程度启动新的网络请求 . 您也可以尝试重新编写应用程序的逻辑 .
你可以使用primefaces remoteCommand组件 . 你可以在这篇博文中找到有关remoteCommand的详细信息 .
http://blogs.bytecode.com.au/glen/2013/09/25/calling-primefaces-remotecommand-with-javascript-arguments.html
你可以使用PrimeFaces remote command component(
<p:remoteCommand>
) .以下列方式将其添加到视图中:
并在Javascript中使用它,如下所示:
或者从事件处理程序中调用它,如下所示:
如果您还想将参数传递给服务器,请进行以下调用:
听众可能像: