У меня проблема с тегом ice: tabChangeListener. Согласно ссылке у него есть только один параметр, тип. Это полное имя класса, реализующее интерфейс TabChangeListener. Поэтому я написал боб:
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}">
Что я делаю не так? Мне нужен отдельный тег, если это возможно.
Спасибо!