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]

Reply via email to