如何在EL表达式中使用JavaScript(ui:param with value)

时间:2013-03-19 11:32:07

标签: javascript jquery jsf

我希望能够将javascript函数的值传递给ui:parameter,如下所示:

<ui:param name="paramName" value="someWidget.function()"/>

但这显然不起作用(它认为:someWidget.function()是一个字符串参数)。

如果我尝试:

<ui:param name="paramName" value="#{someWidget.function()}"/>

它认为someWidget是一个bean名称。

有没有办法在小部件上放置javascript函数的值?如果没有,那么在JSF中的参数中包含javascript函数值的理想方法是什么?

1 个答案:

答案 0 :(得分:2)

存在一个重大的概念误解。 JSF在webserver中运行并生成一个HTML页面,其中包含一些CSS / JS代码,这些代码可以传递给webbrowser。带有CSS / JS的HTML页面又在webbrowser中运行。因此,JS肯定不会在某种程度上与JSF“同步”地运行在Web服务器中。对于JSF,JS就像HTML只是模板文本的一部分,它需要生成。

您需要从不同的方向寻找解决方案。由于具体的功能要求不清楚,我不能给出正确方向的任何提示或开球的例子。到目前为止,您应该使用Java而不是JS来执行它,或者让页面加载期间的JS发送带有所需变量作为请求参数的ajax请求。