This might have been reported before, but if not I hope what I point is
really a bug.
Int the
RequestProcessor.processForward( request, response, mapping ) {
.....
String uri = appConfig.getPrefix() + forward ;
....
}
shouldn't you need to check if forward.startWith("/") before you append it
to the appConfig.getPrefix()?
Exactly the same way at how you did it in the processActionForward() method
where you check if path.startWith("/") ...
protected void processActionForward(HttpServletRequest request,
HttpServletResponse response, ActionForward forward) IOException,
ServletException {
if (forward == null) {
return;
}
String path = forward.getPath();
if (forward.getRedirect()) {
......
} else {
if (path.startsWith("/") && !forward.getContextRelative()) {
path = appConfig.getPrefix() + path;
}
doForward( path, request, response);
}
}
Before I make my change to processForward(.....), where I check if
forward.startWith("/") before append it to the appConfig.getPrefix(), this
doesn't works:
<action path="/test"
forward="site.customer.customerAccountSearch.page" /> for a Tiles
definition. Notice, it works fine with out using
sub-application features.
And after I make my change to check if forward.startWith("/") before I
append it to the config, it works just fine with the Tiles' Definition.
Let me know if this is correct.
Thanks,
danny