📄 phasetracker.java
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -