Icefaces:命令按钮的多个actionListeners

时间:2009-08-24 14:50:18

标签: icefaces actionlistener

是否可以在命令按钮上有多个actionListeners?

如果没有办法解决这个问题?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

不,您只能添加两个服务器端回调方法:

  • actionListener
  • action

<ice:commandButton action="#{bean.navigateTo}" actionListener="#{bean.doSomething}"/>

actionListener必须指向一个返回void并将ActionEvent作为参数的公共方法。它通常用于与任何导航逻辑无关并且具有优势的任何任务,为您提供控件的旧的和新的(=已更改的)值。这在复选框等输入控件中特别有意义。

action必须指向一个公共方法,它返回String而不带任何参数。该方法将执行导航所需的所有操作 - 例如附加验证(如果尚未由某些基本JSF验证器处理)。结果必须与faces-config.xml的导航规则相匹配。

这应该为您提供足够的可能性来处理服务器逻辑中的多个任务(我假设您有多个actionListener的原因)。

此外,如果您只需要执行一些客户端任务,则可以利用多个on * JavaScript属性。

参考:ICEfaces Custom Components Taglib