1

我需要使用按钮来调用托管 Bean 的方法,但它没有任何 ActionListener。我有这样的事情:

<b:button value="Tes1"  look="warning"size="lg"/>

我不能使用命令按钮。有什么办法吗?谢谢!

4

1 回答 1

1

在问题和尝试的解决方案中,它确实是从错误的方式接近它。Ab:commandButton可以通过以下方式使用:

<b:commandButton value="Trigger (JSF passthrough)2" actionListener="#{managedBeanName.performCall}" immediate="true" update="@(#id_element)"/>

此解决方案的关键是immediate=true避免验证并update="@(#id_element)"仅更新屏幕的一部分。您也可以使用update="@none"不更新屏幕。

它需要在表单中。

另一种选择是使用process="@this"而不是immediate=true. 通过这种方式,它不执行任何验证,因为它不提交来自表单的任何输入。

<b:commandButton value="Trigger (JSF passthrough)2" actionListener="#{managedBeanName.performCall}" process="@this" update="@(#id_element)"/>

由于在 JSF 中引入了 'ajax',后一种解决方案更常用。

也可以看看:

于 2017-05-25T15:14:54.883 回答