* @return the updated URL or the same as URL as the one passed in
*/
protected String updateTargetUrl(String targetUrl, Map<String, Object> model,
HttpServletRequest request, HttpServletResponse response) {
RequestContext requestContext = null;
if (getWebApplicationContext() != null) {
requestContext = createRequestContext(request, response, model);
}
else {
WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext();
if (wac != null && wac.getServletContext() != null) {
requestContext = new RequestContext(request, response, wac.getServletContext(), model);
}
}
if (requestContext != null) {
RequestDataValueProcessor processor = requestContext.getRequestDataValueProcessor();
if (processor != null) {
targetUrl = processor.processUrl(request, targetUrl);
}
}