I have already fixed it and committed it a few minutes ago.
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]



Reply via email to