In JellyServlet, the procedure used to determine the script's location is too
simplistic
----------------------------------------------------------------------------------------
Key: JELLY-177
URL: http://nagoya.apache.org/jira/browse/JELLY-177
Project: jelly
Type: Bug
Components: core / taglib.core
Versions: 1.0
Environment: Servlet, 1.0RC1
Reporter: Denis Robert
Priority: Minor
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) {
scriptUrl = includedPathInfo;
} else {
scriptUrl = includedPath;
}
} else {
scriptUrl = req.getParameter("script");
if (scriptUrl == null) {
scriptUrl = req.getPathInfo();
}
if (scriptUrl == null) {
scriptUrl = req.getServletPath();
}
}
URL url = getServletContext().getResource(scriptUrl);
if (url == null) {
throw new IllegalArgumentException("Invalid script url:"
+ scriptUrl);
}
return url;
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]