我遇到了ice:tabChangeListener标记的问题。根据参考,它只有一个参数,类型。这是实现TabChangeListener接口的完全限定类名。所以我写了一个bean:
package com.foo.bean;
@ManagedBean(name="listenerBean")
@SessionScoped
public class ListenerBean implements TabChangeListener {
private int index=0;
public void processTabChange(TabChangeEvent tabChangeEvent) {
this.index=tabChangeEvent.getNewTabIndex();
}
...
}
在xhtml中我放了以下标记:
<ice:tabChangeListener type="com.foo.bean.ListenerBean" />
但是这会生成一条错误消息,说Icefaces无法找到该类。包名称和类名称是正确的。此外,如果我在panelTabSet而不是标签上使用属性(带有值表达式),一切都很好,并且每个选项卡上更新的bean值都会更改:
<ice:panelTabSet id="myTabSet" tabChangeListener="#{listenerBean.processTabChange}">
我做错了什么?如果可能,我需要一个单独的标签。
谢谢!