1 13 package info.magnolia.module.templating.renderers; 14 15 import info.magnolia.cms.beans.config.Template; 16 import info.magnolia.cms.beans.runtime.TemplateRenderer; 17 18 import java.io.IOException ; 19 import java.text.MessageFormat ; 20 21 import javax.servlet.RequestDispatcher ; 22 import javax.servlet.ServletException ; 23 import javax.servlet.http.HttpServletRequest ; 24 import javax.servlet.http.HttpServletResponse ; 25 26 import org.slf4j.Logger; 27 import org.slf4j.LoggerFactory; 28 29 30 38 public class JspTemplateRenderer implements TemplateRenderer { 39 40 43 private static Logger log = LoggerFactory.getLogger(JspTemplateRenderer.class); 44 45 51 public void renderTemplate(Template template, HttpServletRequest request, HttpServletResponse response) 52 throws IOException , ServletException { 53 54 String requestReceiver = template.getPath(); 55 56 if (requestReceiver == null) { 57 log.error("requestReceiver is missing, returning a 404 error"); response.sendError(404); 59 return; 60 } 61 62 if (log.isDebugEnabled()) { 63 log.debug(MessageFormat.format("Dispatching request for [{0}] - forward to [{1}]", new Object []{request.getRequestURL(), requestReceiver})); 65 } 66 67 if (response.isCommitted()) { 68 log.error(MessageFormat.format("Can''t forward to [{0}] for request [{1}]. Response is already committed.", new Object []{requestReceiver, request.getRequestURL()})); 70 return; 71 } 72 73 RequestDispatcher rd = request.getRequestDispatcher(requestReceiver); 74 rd.forward(request, response); 75 rd = null; 76 } 77 78 } 79 | Popular Tags |