You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by pe...@apache.org on 2010/09/20 22:04:31 UTC
svn commit: r999094 -
/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebResponse.java
Author: pete
Date: Mon Sep 20 20:04:31 2010
New Revision: 999094
URL: http://svn.apache.org/viewvc?rev=999094&view=rev
Log:
make servlet web response's redirect(url) work in case of ajax
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebResponse.java
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebResponse.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebResponse.java?rev=999094&r1=999093&r2=999094&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebResponse.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebResponse.java Mon Sep 20 20:04:31 2010
@@ -212,7 +212,23 @@ public class ServletWebResponse extends
{
HttpServletRequest httpServletRequest = webRequest.getHttpServletRequest();
Charset charset = RequestUtils.getCharset(httpServletRequest);
- Url current = Url.parse(httpServletRequest.getRequestURI(), charset);
+
+ final Url current;
+
+ if(webRequest.isAjax())
+ {
+ String ajaxBaseUrl = httpServletRequest.getHeader("Wicket-Ajax-BaseURL");
+
+ if(ajaxBaseUrl == null)
+ throw new IllegalStateException("current ajax request is missing the base url header");
+
+ current = Url.parse('/' + ajaxBaseUrl, charset);
+ }
+ else
+ {
+ current = Url.parse(httpServletRequest.getRequestURI(), charset);
+ }
+
Url append = Url.parse(url, charset);
current.concatSegments(append.getSegments());
Url result = new Url(current.getSegments(), append.getQueryParameters());