我需要使用按钮来调用Managed Bean的方法,但它没有任何ActionListener。我有这样的事情:
<b:button value="Tes1" look="warning"size="lg"/>
我无法使用commandButton。有什么办法吗? 谢谢!
答案 0 :(得分:1)
在问题和尝试的解决方案中,确实是从错误的方式接近它。 b: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)"/>
自从引入ajax&#39;在JSF中,后一种解决方案更常用。
另见: