CURRENT STATE OF THE ART Currently, if I use prefix mapping like this: <servlet-mapping> <servlet-name>controller</servlet-name> <url-pattern>/projects/*</url-pattern> </servlet-mapping>
Then when I go to http://localhost/CONTEXT/projects/View the url is broken down into: context path: /CONTEXT servlet path: /projects path info: /View which get's mapped to the action '/View'. PROBLEMS I'm running into 2 problems. The first is that if I want to define another path-mapping, for example '/admin', then I have to do that in the web.xml (rather than struts-config) which is counter intuitive. (Multi-app support probably makes this point moot...). The second problem is that when using multiple paths, e.g.: /projects/* /admin/* which go to the same ActionServlet, there is one namespace for the actions, that is, '/projects/View' and '/admin/View' map to the same action (namely, '/View'). It would be nice if it were possible that when an action is named '/projects/View' that the URL '/projects/View' would map to it (rather than the current '/projects/projects/View'). Also, if this were the case, then there would be a nice symmetry from naming actions for prefix mapping as well as for extension mapping. Would the changes be as simple as modifying the following ActionServlet.processPath()? Thoughts? protected String processPath(HttpServletRequest request) { String path = null; // For prefix matching, we want to match on the path info (if any) path = (String) request.getAttribute("javax.servlet.include.path_info"); if (path == null) path = request.getPathInfo(); if ((path != null) && (path.length() > 0)) - return (path); + return (request.getServletPath() + path); // For extension matching, we want to strip the extension (if any) path = (String) request.getAttribute("javax.servlet.include.servlet_path"); if (path == null) path = request.getServletPath(); int slash = path.lastIndexOf("/"); int period = path.lastIndexOf("."); if ((period >= 0) && (period > slash)) path = path.substring(0, period); return (path); } Thanks, Gidado -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>