Details
-
Bug
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
1.0-beta-5, 1.0-RC1
-
None
-
Servlet, 1.0RC1
Description
In JellyServlet, the procedure used to determine the script's location is too simplistic; it misses simple cases like the a *.jelly servlet-mapping.
I suggest replacing the getScript method with something like (taken in part from the Freemarker servlet):
protected URL getScript(HttpServletRequest req)
throws MalformedURLException {
String scriptUrl = null;
String includedPath = (String) req.getAttribute("javax.servlet.include.servlet_path");
if (includedPath != null) { //This is the result of a RequestDispatcher include...
String includedPathInfo = (String) req.getAttribute("javax.servlet.include.path_info");
if (includedPathInfo != null)
else
{ scriptUrl = includedPath; } } else {
scriptUrl = req.getParameter("script");
if (scriptUrl == null)
if (scriptUrl == null)
{ scriptUrl = req.getServletPath(); }}
URL url = getServletContext().getResource(scriptUrl);
if (url == null)
return url;
}