phasetracker.java

来自「struts框架的jsf组件的核心实用例子集合」· Java 代码 · 共 49 行

JAVA
49
字号
package com.corejsf;import java.util.logging.Logger;import javax.faces.context.FacesContext;import javax.faces.event.PhaseEvent;import javax.faces.event.PhaseListener;import javax.faces.event.PhaseId;public class PhaseTracker implements PhaseListener {   private static final String PHASE_PARAMETER ="com.corejsf.phaseTracker.phase";   private static final Logger logger = Logger.getLogger("com.corejsf.phases");   private static String phase = null;   public void setPhase(String newValue) { phase = newValue; }      public PhaseId getPhaseId() {      if(phase == null) {         FacesContext context = FacesContext.getCurrentInstance();         phase = (String)context.getExternalContext().getInitParameter(                                                         PHASE_PARAMETER);      }      PhaseId phaseId = PhaseId.ANY_PHASE;      if(phase != null) {         if("RESTORE_VIEW".equals(phase))             phaseId = PhaseId.RESTORE_VIEW;         else if("APPLY_REQUEST_VALUES".equals(phase))             phaseId = PhaseId.APPLY_REQUEST_VALUES;         else if("PROCESS_VALIDATIONS".equals(phase))             phaseId = PhaseId.PROCESS_VALIDATIONS;         else if("UPDATE_MODEL_VALUES".equals(phase))             phaseId = PhaseId.UPDATE_MODEL_VALUES;         else if("INVOKE_APPLICATION".equals(phase))             phaseId = PhaseId.INVOKE_APPLICATION;         else if("RENDER_RESPONSE".equals(phase))             phaseId = PhaseId.RENDER_RESPONSE;         else if("ANY_PHASE".equals(phase))             phaseId = PhaseId.ANY_PHASE;      }      return phaseId;   }   public void beforePhase(PhaseEvent e) {      logger.info("BEFORE " + e.getPhaseId());   }   public void afterPhase(PhaseEvent e) {      logger.info("AFTER " + e.getPhaseId());   }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?