Thanks, Marc, for spotting the error and, Konstantin, for the hints how to patch it. I tested it with the JSP samples, I moved those pipelines to the blocks sitemap, so that I have "jsp/welcome.jsp" or similar as sitemap URI. It seems to work, but maybe you can have a look on it.
Why does our standard resolving not work? I tested first with something like resolver.resolveURI(), but got 404 errors. The JSP engine seems not to like JSP files outside of the current servlet's context.
Joerg
Konstantin Piroumian wrote:
This method is available from the Request object which is already available in JSPReader/JSPGenerator (it is retrieved using ObjectModel.getRequest() or something like that).
Regards, Konstantin
From: "Marc Baumgartner" <[EMAIL PROTECTED]>
Okay, I will try to provide a patch. But I don't know the framework very
well,
so there are some questions:
Which class contains the getSitemapURI function? How can I get class?
Regards Marc
Am Freitag, 1. August 2003 08:10 schrieb Konstantin Piroumian:
Yes, that should be fixed. At the time of writing the JSPReader (and JSPGenerater as well) there were no any means for obtaining the current sitemap URI relative the web application context. Now there is something like getSitemapURI that can help with it.
Please post a patch to Bugzilla if you fix this (also, please fix the JSPGenerator).
Regards, Konstantin Piroumian [EMAIL PROTECTED]
----- Original Message ----- From: "Marc Baumgartner" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, July 31, 2003 21:39 Subject: Bug in JSPReader?
Hello all,
it seems that there is a bug in the JSPReader class?
I have the following sitemap entry:
<map:match pattern="admin/*.jsp"> <map:read type="jsp" src="test/{1}.jsp" mime-type="text/html" /> </map:match>
With entering the url "localhost:8080/cocoon/admin/hello.jsp" I get a
error
message that the ressource "localhost:8080/cocoon/test/admin/hello.jsp"
can
not be found.
I am using tomcat 4.1.24 and have tried this with cocoon 2.04, 2.1m1-m3.
I took a look at the sourcecode of the JSPReader and there are the following lines:
// get current request path String servletPath = httpRequest.getServletPath(); // remove file part servletPath = servletPath.substring(0,servletPath.lastIndexOf('/') + 1); url = servletPath + url;
I call this URL: "localhost:8080/cocoon/admin/hello.jsp"
The variable servletPath contains "/admin/hello.jsp". Then this path is reduced to "/admin/". The variable url contains the path to which we are mapping: "/test/hello.jsp".
But the final url is "/admin/test/hello.jsp"
From my point of view the variable servletPath has to contain the path
the
current subsitemap. In my case "/".
Is this maybe a bug?
regards Marc
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]