DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24657>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24657 Context-relative redirects duplicate context-root in URL (in WAS) Summary: Context-relative redirects duplicate context-root in URL (in WAS) Product: Struts Version: 1.1 Final Platform: PC OS/Version: Windows XP Status: NEW Severity: Normal Priority: Other Component: Controller AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] I'm using WSAD 5.1, WAS 4.0.6 Test Server. The context-root of my web application as defined in my EAR's deployment descriptor is "my_app". To test my application, I navigate to: http://localhost:8080/my_app/ I've got the following global forward in the struts-config.xml for moduleA: <forward name="my_forward" redirect="true" contextRelative="true" path="/moduleB/action.do"> </forward> When my action in moduleA returns the ActionForward defined as "my_forward", the browser is redirected to: http://localhost:8080/my_app/my_app/moduleB/action.do Since the global forward is a redirect and context relative, the forward path ("/moduleB/action.do") remains unmolested until it reaches this bit of Struts code in RequestProcessor.processForwardConfig(HttpServletRequest request, HttpServletResponse response, ForwardConfig forward): if (forward.getRedirect()) { // only prepend context path for relative uri if (uri.startsWith("/")) { uri = request.getContextPath() + uri; } response.sendRedirect(response.encodeRedirectURL(uri)); } The URI passed in to response.encodeRedirectURL is "/my_app/moduleB/action.do" since we've prepended the original forward path with the context path. The problem seems to be that response.encodeRedirectURL prepends the URI with not only the scheme, server, port, etc., but also with same context path. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
