"Craig R. McClanahan" wrote: > No ... and (this time at least) not because of lack of time. It is not at > all obvious how to rig path mapping to the controller to work together > with the basic assumption of sub-applications that there is a prefix for > that subapp. All I can think of is requiring you to map the controller > once per subapp, which is both ugly and will require a bunch of changes to > the existing code that assumes there is only one mapping to the controller > servlet. > > Ideas, anyone?
It looks like we need to call both getServletPath and getPathInfo, and then subtract the servlet-mapping. Here's what the HttpRequest is willing to tell us: <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>/do/*</url-pattern> </servlet-mapping> action: ** PATH INFO: action: /find/Last action: ** PATH TRANS: action: D:\public\tomcat\webapps\artimus\find\Last action: ** QUERY STRING: action: null action: ** REQUEST URI: action: /artimus/do/find/Last action: ** SERVLET PATH: action: /do <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> action: ** PATH INFO: action: null action: ** PATH TRANS: action: null action: ** QUERY STRING: action: null action: ** REQUEST URI: action: /artimus/find/Last.do action: ** SERVLET PATH: action: /find/Last.do If you do this servletPath + pathInfo you get /do/find/Last and /find/Last.do respectively. So then we just need to mask the prefix (/do/*) or suffix (*.do) to get /find/Last in either case. I believe this will make /do/module1/action and /module1/action.do equivalent under 1.1 as it is under 1.0. If this sounds reasonable, I'll give it a try. In 1.0, there was also a place in html:form that assumed extension mapping and so prevented using extensions under prefix mapping. If the rest works out, I'd check on that too. -- Ted Husted, Husted dot Com, Fairport NY US -- Developing Java Web Applications with Struts -- Tel: +1 585 737-3463 -- Web: http://husted.com/about/services -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>