⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 onpageloadlistener.java

📁 Java开的发文件管理系统,可以管理整个服务器的文件,并按要求进行处理!
💻 JAVA
字号:
/**
 * 
 */
package com.ibm.gbsc.cte.sample;

import javax.faces.context.FacesContext;
import javax.faces.event.PhaseEvent;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.ibm.faces.webapp.ValueResourcePhaseListener;

/**
 * @author Kyle
 * 
 */
public class OnPageLoadListener extends ValueResourcePhaseListener {
	private static final long serialVersionUID = -1062767280575489128L;

	protected final static Log logger = LogFactory
			.getLog(OnPageLoadListener.class);

	public void afterPhase(PhaseEvent phaseEvent) {
		// get faces context
		FacesContext facesContext = phaseEvent.getFacesContext();
		// get request view id
		String viewId = phaseEvent.getFacesContext().getViewRoot().getViewId();
		// first request view id
//		if (viewId.endsWith(".jsp")) {
			String managedBeanName = getManagedBeanNameFromView(getLaskName(viewId));
			if (managedBeanName == null)
				logger.error("Parse managed bean error.");
			Object object = facesContext.getApplication().createValueBinding(
					"#{" + managedBeanName + "}").getValue(facesContext);
			if (object == null)
				logger
						.error("OnPageLoad cannot be executed, no such managed bean:"
								+ managedBeanName);
			else if (object instanceof IOnPageLoad) {
				IOnPageLoad lifeCycleAwareBean = (IOnPageLoad) object;
				lifeCycleAwareBean.onPageLoad(facesContext);
			}
//		}
		super.afterPhase(phaseEvent);
	}

	/**
	 * @param viewId
	 * @return
	 */
	public String getManagedBeanNameFromView(String viewId) {
		String pageName = null;
		if (viewId.endsWith(Constants.EXT_FACES))
			pageName = viewId.substring(1, viewId.length() - Constants.EXT_FACES.length());
		else if (viewId.endsWith(Constants.EXT_JSP))
			pageName = viewId.substring(1, viewId.length() - Constants.EXT_JSP.length());
		return "pc_" + OnPageLoadListener.capitalize(pageName);
	}

	/**
	 * Capitalize the first word and trim whitespaces.
	 * @param message the message which should be formatted.
	 * @return formated message
	 */
	public static String capitalize(String message) {
		message = message.trim();
		if (message.equals(""))
			return message;
		StringBuilder buffer = new StringBuilder(message);
		char first = buffer.charAt(0);
		if (!Character.isUpperCase(first))
			buffer.setCharAt(0, Character.toUpperCase(first));
		return buffer.toString();
	}
	
	/**
	 * get the real file name, and the real path is not included.
	 * @param message
	 * @return
	 */
	public static String getLaskName(String message){
		String result = message;
		int i = message.lastIndexOf("/");
		result = message.substring(i,result.length());
		return result;
	}
}

⌨️ 快捷键说明

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