在jsf中从托管bean调用javascript的参数化函数
我在谷歌上搜索了好几次,但都找不到解决方案。我想从jsf中的bean类调用javascript函数,并使用下面的代码实现。在jsf中从托管bean调用javascript的参数化函数,javascript,jsf,primefaces,javabeans,Javascript,Jsf,Primefaces,Javabeans,我在谷歌上搜索了好几次,但都找不到解决方案。我想从jsf中的bean类调用javascript函数,并使用下面的代码实现。 RequestContext.getCurrentInstance().execute(“handleResize()”); 工作正常。但是我想给函数高度和宽度两个参数。怎样才能做到呢?请帮助在Java/JSF的上下文中,所有HTML、CSS和JavaScript代码都只是普通的字符串s,而您似乎期望HTML/CSS/JS在Java/JSF代码中神奇地运行。事实并非如此。
RequestContext.getCurrentInstance().execute(“handleResize()”);
工作正常。但是我想给函数高度和宽度两个参数。怎样才能做到呢?请帮助在Java/JSF的上下文中,所有HTML、CSS和JavaScript代码都只是普通的
字符串
s,而您似乎期望HTML/CSS/JS在Java/JSF代码中神奇地运行。事实并非如此。Java/JSF是HTML/CSS/JS代码生成器,而不是执行器。webbrowser将它们作为一个大的字符串
检索,然后解析并执行它
如果您想使用提供的参数调用JS函数,就像在实际JS代码中这样做:
handleResize(500, 300);
您将这些值作为Java变量,然后您只需要确保您编写Java代码的方式正好生成了上面的String
(同样,这只是Java代码,没有JS代码):
您可以通过将其打印到标准输出/记录器来预先验证:
System.out.println(call);
它必须精确地打印所需的有效JS函数调用语法handleResize(500300)代码>
如果是,则只需将未修改的内容传递给RequestContext#execute()
您似乎没有理解这样一个事实:在Java/JSF的上下文中,所有HTML、CSS和JavaScript代码都只是普通的String
s,您似乎期望HTML/CSS/JS在Java/JSF代码中神奇地运行。事实并非如此。Java/JSF是HTML/CSS/JS代码生成器,而不是执行器。webbrowser将它们作为一个大的字符串
检索,然后解析并执行它
如果您想使用提供的参数调用JS函数,就像在实际JS代码中这样做:
handleResize(500, 300);
您将这些值作为Java变量,然后您只需要确保您编写Java代码的方式正好生成了上面的String
(同样,这只是Java代码,没有JS代码):
您可以通过将其打印到标准输出/记录器来预先验证:
System.out.println(call);
它必须精确地打印所需的有效JS函数调用语法handleResize(500300)代码>
如果是,则只需将未修改的内容传递给RequestContext#execute()
可能RequestContext.getCurrentInstance().execute(“handleResize(100200)”代码>?不是静态值。我试过使用静态值,但效果很好。但我想传递动态值。@nik给我们举个例子。@ronnk像int h=500,w=300;执行(“handleResize(h,w)”@nikString str=“handleResize”(+h+),“+w+”)
,然后RequestContext.getCurrentInstance().execute(str)
可能RequestContext.getCurrentInstance().execute(“handleResize(100200)”代码>?不是静态值。我试过使用静态值,但效果很好。但我想传递动态值。@nik给我们举个例子。@ronnk像int h=500,w=300;执行(“handleResize(h,w)”@nikString str=“handleResize(“+h+”,“+w+”)”
,然后RequestContext.getCurrentInstance().execute(str)