package com.sp2p.system.interceptor; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.struts2.ServletActionContext; import org.apache.struts2.interceptor.RequestAware; import org.apache.struts2.interceptor.SessionAware; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.Interceptor; import com.shove.vo.HelpMessage; import com.shove.web.action.BaseAction; import com.sp2p.constants.IConstants; import com.sp2p.system.exception.FrontHelpMessageException; /** * 前台登录跳转 * * @author 杨程 * @Create Jun 3, 2011 * */ public class FrontPageJumpInterceptor implements Interceptor, SessionAware { public static Log log = LogFactory.getLog(FrontPageJumpInterceptor.class); private static final long serialVersionUID = 1L; private HttpServletRequest request; private HttpServletResponse response; public Map<String, Object> sessionMap; public void destroy() { } public void init() { } public String intercept(ActionInvocation invocation) throws Exception { request = ServletActionContext.getRequest(); response = ServletActionContext.getResponse(); String result; try { result = invocation.invoke(); } catch (FrontHelpMessageException e) { //BaseAction action = (BaseAction) invocation.getAction(); //HelpMessage helpMessage = action.getHelpMessage(); // try { // //request.setAttribute("title", helpMessage.getTitle()); // } catch (Exception ee) { // } //sessionMap.put("helpMessage", helpMessage); if (isAjaxRequest()) { response.getWriter().print(IConstants.FRONTPAGEJUMP); return null; } else { return IConstants.FRONTPAGEJUMP; } } return result; } private boolean isAjaxRequest() { String header = request.getHeader("X-Requested-With"); if (header != null && "XMLHttpRequest".equals(header)) { return true; } return false; } @Override public void setSession(Map<String, Object> session) { this.sessionMap = session; } }