package com.norteksoft.acs.web.tags; import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang.StringUtils; import com.norteksoft.acs.base.web.struts2.CRUDActionSupport; import com.norteksoft.product.util.PropUtils; import com.norteksoft.product.web.struts2.Struts2Utils; public class ExceptionHandleAction extends CRUDActionSupport<Object>{ private static final long serialVersionUID = 1L; private String type;//500,403,404 private String sessionFail;//登录超时 private String expired;//该用户已经在别处登录 private String exceed; // 超出最大人数限制 private String forbidden; // 是否被禁用 @Override public String delete() throws Exception { // TODO Auto-generated method stub return null; } @Override public String list() throws Exception { HttpServletRequest request=Struts2Utils.getRequest(); Object ex = request.getAttribute("javax.servlet.error.exception"); if(ex != null && ex instanceof Exception){ logger.error("Action Exception: ", (Exception)ex); } String webapp = request.getContextPath(); String resourceCtx=PropUtils.getProp("host.resources"); request.setAttribute("ctx", webapp); request.setAttribute("resourceCtx", StringUtils.isEmpty(resourceCtx)?webapp:resourceCtx); int errorCode=500; if(StringUtils.isNotEmpty(type)){ String[] types=type.split(","); if(types.length>0){ type=types[0]; errorCode=Integer.parseInt(type); } } String result="500"; switch(errorCode){ case 403: result="403"; break; case 404: result="404"; break; } return result; } @Override protected void prepareModel() throws Exception { // TODO Auto-generated method stub } @Override public String save() throws Exception { // TODO Auto-generated method stub return null; } public Object getModel() { // TODO Auto-generated method stub return null; } public void setType(String type) { this.type = type; } public String getSessionFail() { return sessionFail; } public void setSessionFail(String sessionFail) { this.sessionFail = sessionFail; } public String getExpired() { return expired; } public void setExpired(String expired) { this.expired = expired; } public String getExceed() { return exceed; } public void setExceed(String exceed) { this.exceed = exceed; } public String getForbidden() { return forbidden; } public void setForbidden(String forbidden) { this.forbidden = forbidden; } }