You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by jc...@apache.org on 2009/04/14 14:29:21 UTC

svn commit: r764756 - /wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/basic/EmptyAjaxRequestTarget.java

Author: jcompagner
Date: Tue Apr 14 12:29:20 2009
New Revision: 764756

URL: http://svn.apache.org/viewvc?rev=764756&view=rev
Log:
set the right response headers/encoding even when sending a empty response, IE cant parse it otherwise

Modified:
    wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/basic/EmptyAjaxRequestTarget.java

Modified: wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/basic/EmptyAjaxRequestTarget.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/basic/EmptyAjaxRequestTarget.java?rev=764756&r1=764755&r2=764756&view=diff
==============================================================================
--- wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/basic/EmptyAjaxRequestTarget.java (original)
+++ wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/basic/EmptyAjaxRequestTarget.java Tue Apr 14 12:29:20 2009
@@ -16,8 +16,10 @@
  */
 package org.apache.wicket.request.target.basic;
 
+import org.apache.wicket.Application;
 import org.apache.wicket.IRequestTarget;
 import org.apache.wicket.RequestCycle;
+import org.apache.wicket.protocol.http.WebResponse;
 
 /**
  * The empty AJAX request target does output an empty AJAX response.
@@ -54,7 +56,23 @@
 	 */
 	public void respond(RequestCycle requestCycle)
 	{
-		requestCycle.getResponse().write("<ajax-response></ajax-response>");
+		WebResponse response = (WebResponse)requestCycle.getResponse();
+		final String encoding = Application.get()
+			.getRequestCycleSettings()
+			.getResponseRequestEncoding();
+
+		// Set content type based on markup type for page
+		response.setCharacterEncoding(encoding);
+		response.setContentType("text/xml; charset=" + encoding);
+
+		// Make sure it is not cached by a client
+		response.setDateHeader("Expires", System.currentTimeMillis());
+		response.setHeader("Cache-Control", "no-cache, must-revalidate");
+		response.setHeader("Pragma", "no-cache");
+
+		response.write("<?xml version=\"1.0\" encoding=\"");
+		response.write(encoding);
+		response.write("\"?><ajax-response></ajax-response>");
 	}
 
 	/**