2009-08-24 80 views

回答

1

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

  • actionListener
  • action

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

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

action必须指向一个公共方法,该方法返回String而不带任何参数。该方法将完成导航所需的一切 - 例如额外的验证(如果尚未由一些基本的JSF验证器处理)。结果必须符合faces-config.xml的导航规则。

这应该给你足够的可能性来处理你的服务器逻辑中的多个任务(我认为你有多个actionListener的原因)。

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

参考:ICEfaces Custom Components Taglib