关于标题的一个简单问题。
我的情况是,我想监听“RENDER_RESPONSE 之前”阶段,并更改一些组件的内部状态。
PhaseListener 是在 SEAM 应用程序中执行此操作的“正确方法”吗?
如果你想改变JSF组件内部状态,依赖JSF阶段监听器。声明 JSF 阶段侦听器的 Seam 方式如下所示
@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() {
}
}
You can
以编程方式调用您的活动
Events.instance().raiseEvent("applicationListener");
通过使用 @RaiseEvent 注释,该注释放置在某些操作方法之上
@RaiseEvent("applicationListener")
public void doSomething() {
}
页面.xml
<page id="<PAGE_ID_GOES_HERE>">
<raise-event type="applicationListener"/>
</page>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)