/** {@inheritDoc} */ public void processRequest(InTransport in, OutTransport out) { HttpServletRequest httpRequest = ((HttpServletRequestAdapter)in).getWrappedRequest(); HttpServletResponse httpResponse = ((HttpServletResponseAdapter)out).getWrappedResponse(); RequestDispatcher dispatcher = httpRequest.getRequestDispatcher(jspPage); try { dispatcher.forward(httpRequest, httpResponse); return; } catch (Throwable t) { log.error("Could not dispatch to error JSP page: " + jspPage, t); return; } } }
/** {@inheritDoc} */ public void processRequest(InTransport in, OutTransport out) { VelocityContext context = new VelocityContext(); context.put("request", ((HttpServletRequestAdapter) in).getWrappedRequest()); context.put("requestError", in.getAttribute(AbstractErrorHandler.ERROR_KEY)); context.put("encoder", ESAPI.encoder()); HttpServletResponse response = ((HttpServletResponseAdapter) out).getWrappedResponse(); response.setContentType("text/html"); response.setHeader("Cache-Control", "content=\"no-store,no-cache,must-revalidate\""); response.setHeader("Pragma","no-cache"); response.setHeader("Expires","-1"); try { OutputStreamWriter responseWriter = new OutputStreamWriter(out.getOutgoingStream()); Template template = velocityEngine.getTemplate(templatePath); template.merge(context, responseWriter); responseWriter.flush(); } catch (Throwable t) { log.error("Unable to evaluate velocity error template", t); } return; } }