Hi,

Please take a look at https://issues.apache.org/bugzilla/show_bug.cgi?id=53469.
This issue describes a problem which prevents Wicket's default
RenderStrategy - REDIRECT_TO_BUFFER.

Basically the problem is:
- PageA mounted at /mount/pageA is requested
- the code uses setResponsePage(PageB.class) which is mounted at
/deeper/mount/path/pageB
- Wicket starts to render PageB (in the same request cycle) and for
each url in the page it asks the web container to encode it
(HttpServletResponse#encodeURL())
- here Tomcat 7.0.29+ tries to find whether the url to encode is part
of the web app. To do this it makes the relative url passed by Wicket
to absolute by using the HttpServletRequest's requestURI (i.e.
/mount/pageA). This may get wrong because Wicket actually generates
the urls against /deeper/mount/path/pageB

Mark Thomas (Tomcat dev) suggests that Wicket could use
HttpServletRequestWrapper which should return the correct requestURI
depending on the current request cycle baseUrl.

Any ideas and comments are welcome!

-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

Reply via email to