first commit
This commit is contained in:
40
hrmsEjb/org/apache/struts/action/ExceptionHandler.java
Normal file
40
hrmsEjb/org/apache/struts/action/ExceptionHandler.java
Normal file
@@ -0,0 +1,40 @@
|
||||
package org.apache.struts.action;
|
||||
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import org.apache.struts.config.ExceptionConfig;
|
||||
import org.apache.struts.util.ModuleException;
|
||||
|
||||
public class ExceptionHandler {
|
||||
public ActionForward execute(Exception ex, ExceptionConfig ae, ActionMapping mapping, ActionForm formInstance, HttpServletRequest request, HttpServletResponse response) throws ServletException {
|
||||
ActionForward forward = null;
|
||||
ActionError error = null;
|
||||
String property = null;
|
||||
if (ae.getPath() != null) {
|
||||
forward = new ActionForward(ae.getPath());
|
||||
} else {
|
||||
forward = mapping.getInputForward();
|
||||
}
|
||||
if (ex instanceof ModuleException) {
|
||||
error = ((ModuleException)ex).getError();
|
||||
property = ((ModuleException)ex).getProperty();
|
||||
} else {
|
||||
error = new ActionError(ae.getKey(), ex.getMessage());
|
||||
property = error.getKey();
|
||||
}
|
||||
request.setAttribute("org.apache.struts.action.EXCEPTION", ex);
|
||||
storeException(request, property, error, forward, ae.getScope());
|
||||
return forward;
|
||||
}
|
||||
|
||||
protected void storeException(HttpServletRequest request, String property, ActionError error, ActionForward forward, String scope) {
|
||||
ActionErrors errors = new ActionErrors();
|
||||
errors.add(property, error);
|
||||
if ("request".equals(scope)) {
|
||||
request.setAttribute("org.apache.struts.action.ERROR", errors);
|
||||
} else {
|
||||
request.getSession().setAttribute("org.apache.struts.action.ERROR", errors);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user