I am currently porting webapps to Tomcat(4.1.27) from WL and believe I may have found a bug with the implementation of the jsp:include action tag. The problem I found is that when using the jsp:include tag in a page which resides in a context which differs from the request's initial context the page being included is not found. (The crossContext attribute of the Context element has been set to true.)
An example may better explain this: WebappOne one.jsp source: WebappOne/one.jsp<br> <% config.getServletContext().getContext("/WebappTwo").getRequestDispatcher("/two.jsp").include(request,response); %> WebappTwo two.jsp source: WebappTwo/two.jsp<br> <jsp:include page="/three.jsp" flush="true"/> three.jsp source: WebappTwo/three.jsp The text inside of WebappTwo/three.jsp will not be included in WebappTwo/two.jsp output when requesting WebappOne/one.jsp. However, if we move WebappTwo/three.jsp to WebappOne the output is included in the output of WebappTwo/two.jsp. I think that the cause of this is that JspRuntimeLibrary.include(...) uses the request to obtain a RequestDispatcher and the request is pointing to the initial context: RequestDispatcher rd = request.getRequestDispatcher(resourcePath); rd.include(request, new ServletResponseWrapperInclude(response, out)); The JSP 1.2 spec seems to say that jsp:include should be relative to the current page: "A <jsp:include .../> element provides for the inclusion of static and dynamic resources in the same context as the current page." Thanks, Greg Holtfreter Software Engineer Encyclopaedia Britannica --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]