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

To pass JSF expression language as parameter to javascript function

本文关键字:参数传递 javascript 函数 JSF 表达式 语言      更新时间:2023-09-26

我想通过将JSF表达式语言函数作为参数传递给javascript函数,在单击命令按钮时执行javascript函数。我的命令按钮如下

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

由于解析表达式失败,我收到错误。你能告诉我正确的方法吗?如果不能,可以将托管bean的方法返回的值传递并存储在JSF页面中,并将其用作js函数的参数。

如果您想将变量从backingbean传递给javascript方法,

在beackingbean中创建一个变量,比如myVariable(addgetter方法)

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

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

根据您对自己问题的评论,我认为您正在寻找在onclick中使用return false;,而return false;将阻止您的action被称为

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

而在您的checkOption中,当检查失败时(或无论您的情况如何),您必须返回false