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());