/** * action异常拦截器 */ package com.ycsoft.sysmanager.web.commons.interceptor; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.AbstractInterceptor; import com.ycsoft.commons.abstracts.BaseAction; import com.ycsoft.commons.exception.ExceptionMessage; import com.ycsoft.commons.helper.LoggerHelper; import com.ycsoft.commons.pojo.ExceptionData; import com.ycsoft.commons.pojo.Root; /** * @author danjp * */ public class CatchExceptionInterceptor extends AbstractInterceptor { private static final long serialVersionUID = 3188674580951976746L; @Override public String intercept(ActionInvocation invocation) throws Exception { String result = "json"; try { result = invocation.invoke(); } catch (Exception e) { LoggerHelper.error(invocation.getAction().getClass(), e.getMessage()); ExceptionData msg = ExceptionMessage.getMsgFromException(e); BaseAction ba = (BaseAction)invocation.getAction(); Root root = ba.getRoot(); root.setException(msg); root.setSuccess(false); e.printStackTrace(); } return result; } }