将JSF表达式语言作为参数传递给javascript函数

时间:2013-07-24 17:25:51

标签: javascript jsf-2

我希望通过将JSF表达式语言函数作为参数传递给javascript函数来点击命令按钮来执行javascript函数。我的命令按钮如下所示

<h:commandButton id="cmdBtn" value="GO" action="#{workSpaceBean.submit}" onclick="checkOption(#{workSpaceBean.submit()})" />

由于无法解析表达式,我收到错误。请您告诉我正确的方法。如果不可能,可以在JSF页面中传递和存储从托管bean的方法返回的值使用它作为js函数的参数。

2 个答案:

答案 0 :(得分:1)

如果要将变量从backing bean传递给javascript方法,

在beacking bean中创建一个变量,比如myVariable(添加getter方法)

a4j:support添加到按钮,如下所示,

<h:commandButton action="#{workSpaceBean.submit}"......>
    <a4j:support event="click" onComplete="checkOption('#{workSpaceBean.myVariable}')" />
</h;commandButton>

答案 1 :(得分:0)

根据您对自己问题的评论,我认为您希望在return false; onclick中使用return false;action会阻止您<h:commandButton id="cmdBtn" value="GO" action="#{workSpaceBean.submit}" onclick="return checkOption();" /> 被调用

checkOption

在您的false中,您必须在支票失败时返回{{1}}(或无论您的条件是什么)