Если вы хотите изменить JSF внутреннее состояние компонента, положитесь на слушатель фазы JSF.Ниже описан способ объявления слушателя фазы JSF
@Name("applicationPhaseListener")
@Scope(ScopeType.APPLICATION)
public class ApplicationPhaseListener {
/**
* Called TRANSPARENTLY by Seam
*/
@Observer("org.jboss.seam.beforePhase")
public void beforePhase(PhaseEvent event) {
}
/**
* Called TRANSPARENTLY by Seam
*/
@Observer("org.jboss.seam.afterPhase")
public void afterPhase(PhaseEvent event) {
}
}
Но если вы хотите изменить Контекстное состояние шва состояние компонента, используйте
@Name("applicationPhaseListener")
public class ApplicationPhaseListener {
@Observer("applicationListener")
public void applicationListener() {
}
}
Youcan
Вызовите ваше событие программно
Events.instance().raiseEvent("applicationListener");
Используя аннотацию @RaiseEvent, которая помещена над каким-либо методом действия
@RaiseEvent("applicationListener")
public void doSomething() {
}
pages.xml
<page id="<PAGE_ID_GOES_HERE>">
<raise-event type="applicationListener"/>
</page>