- private void handleUserError(HttpServletRequest req, HttpServletResponse res,
- PrintWriter out, String errorString) {
- try {
- theLog.printError(errorString);
- SimpleHash modelRoot = new SimpleHash();
- modelRoot.put("errorstring", new SimpleScalar(errorString));
- modelRoot.put("date", new SimpleScalar(StringUtil.date2readableDateTime(new GregorianCalendar())));
- HTMLTemplateProcessor.process(res,MirConfig.getProp("Mir.UserErrorTemplate"),
- modelRoot, out, req.getLocale() );
- out.close();
- }
- catch (Exception e) {
- System.err.println("Error in UserErrorTemplate");
+ Throwable cause = ExceptionRoutines.traceCauseException(e);
+
+ if (cause instanceof ServletModuleUserExc)
+ handleUserError(aRequest, aResponse, aResponse.getWriter(), (ServletModuleUserExc) cause);
+ else
+ handleError(aRequest, aResponse, aResponse.getWriter(), cause);