You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by "Marc DeXeT (JIRA)" <co...@jakarta.apache.org> on 2004/12/16 10:21:58 UTC

[jira] Commented: (JELLY-177) In JellyServlet, the procedure used to determine the script's location is too simplistic

     [ http://nagoya.apache.org/jira/browse/JELLY-177?page=comments#action_56763 ]
     
Marc DeXeT commented on JELLY-177:
----------------------------------

Could we have some unit test about ?

> 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: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org