Index: C:/apps/click/framework/src/net/sf/click/ClickServlet.java =================================================================== --- C:/apps/click/framework/src/net/sf/click/ClickServlet.java (revision 1364) +++ C:/apps/click/framework/src/net/sf/click/ClickServlet.java (working copy) @@ -520,8 +520,11 @@ } } else if (page.getPath() != null) { - renderTemplate(page, request); - + if (page.getPath().endsWith(".jsp")) { + renderJSP(request, response, page, page.getPath()); + } else { + renderTemplate(page, request); + } } else { if (logger.isDebugEnabled()) { logger.debug("Page path not defined for " @@ -647,22 +650,23 @@ * @param page the page to render * @throws Exception if an error occurs rendering the JSP */ - protected void renderJSP(HttpServletRequest request, - HttpServletResponse response, Page page) throws Exception { - + + protected void renderJSP(HttpServletRequest request, HttpServletResponse response, Page page) throws Exception { + if (page.getForward().equals(page.getTemplate())) { + renderJSP(request, response, page, page.getForward()); + } else { + renderJSP(request, response, page, page.getTemplate()); + } + } + + protected void renderJSP(HttpServletRequest request, HttpServletResponse response, Page page, String template) throws Exception { long startTime = System.currentTimeMillis(); - setRequestAttributes(page); - RequestDispatcher dispatcher = null; - if (page.getForward().equals(page.getTemplate())) { - dispatcher = request.getRequestDispatcher(page.getForward()); + dispatcher = request.getRequestDispatcher(template); + - } else { - dispatcher = request.getRequestDispatcher(page.getTemplate()); - } - dispatcher.forward(request, response); if (!clickApp.isProductionMode()) {