XPages请求处理生命周期-软件包到哪里去了
我正在尝试在XPages请求处理生命周期中运行代码 第三位代码是 但我不知道如何放入与定义的结构匹配的包中XPages请求处理生命周期-软件包到哪里去了,xpages,Xpages,我正在尝试在XPages请求处理生命周期中运行代码 第三位代码是 但我不知道如何放入与定义的结构匹配的包中 Code 3: XSPPhaseListener java class (put in a package that matches defined structure) package com.ibm.xsp.util; import javax.faces.event.PhaseEvent; import javax.faces.event.PhaseId; /** * @au
Code 3: XSPPhaseListener java class (put in a package that matches defined structure)
package com.ibm.xsp.util;
import javax.faces.event.PhaseEvent;
import javax.faces.event.PhaseId;
/**
* @author Tony McGuckin, IBM
*/
public class XSPPhaseListener implements javax.faces.event.PhaseListener {
private static final long serialVersionUID = 1L;
public PhaseId getPhaseId() {
return PhaseId.ANY_PHASE;
}
public void beforePhase(PhaseEvent event) {
if(event.getPhaseId().equals(PhaseId.RESTORE_VIEW)){
System.out.println(" ");
System.out.println("Request:\tStarted...");
}
System.out.println(" ");
System.out.println("Lifecycle:\tBefore Phase: " + event.getPhaseId());
}
public void afterPhase(PhaseEvent event) {
System.out.println("Lifecycle:\tAfter Phase: " + event.getPhaseId());
System.out.println(" ");
if(event.getPhaseId().equals(PhaseId.RENDER_RESPONSE)){
System.out.println("Request:\tCompleted.");
System.out.println(" ");
}
}
}
我认为这只是讨论Java包的一种特殊方式——最好在您自己的包(“com.company”)中创建一个类,而不是在IBM的名称空间中创建一个类。复制他那里的包名不会有什么坏处,但这是一个很好的做法。然后,在将新的完整类名(“com.company.XSPPhaseListener”)添加到Faces配置时,请确保使用它。另外,请参阅OpenNTF上的XPages OpenLog Logger项目,该项目在NSF版本中有一个PhaseListener。我用它来拦截和注销错误。