Author: mgrigorov
Date: Tue Apr 26 16:04:37 2011
New Revision: 1096795

URL: http://svn.apache.org/viewvc?rev=1096795&view=rev
Log:
WICKET-3578 Wicket should set the character encoding on requests

Set the character encoding in WebApplication#newWebRequest(). This way the user 
may "disable" it if needed by overriding this factory method.


Modified:
    
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/WebApplication.java

Modified: 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/WebApplication.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/WebApplication.java?rev=1096795&r1=1096794&r2=1096795&view=diff
==============================================================================
--- 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/WebApplication.java
 (original)
+++ 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/WebApplication.java
 Tue Apr 26 16:04:37 2011
@@ -16,11 +16,6 @@
  */
 package org.apache.wicket.protocol.http;
 
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
-
 import org.apache.wicket.Application;
 import org.apache.wicket.IPageRendererProvider;
 import org.apache.wicket.Page;
@@ -67,6 +62,13 @@ import org.apache.wicket.util.watch.IMod
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.io.UnsupportedEncodingException;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+
 
 /**
  * A web application is a subclass of Application which associates with an 
instance of WicketServlet
@@ -380,6 +382,16 @@ public abstract class WebApplication ext
         */
        protected WebRequest newWebRequest(HttpServletRequest servletRequest, 
final String filterPath)
        {
+               String requestEncoding = 
getRequestCycleSettings().getResponseRequestEncoding();
+               try
+               {
+                       servletRequest.setCharacterEncoding(requestEncoding);
+               }
+               catch (UnsupportedEncodingException e)
+               {
+                       throw new RuntimeException(e);
+               }
+
                if (hasFilterFactoryManager())
                {
                        for (AbstractRequestWrapperFactory factory : 
getFilterFactoryManager())


Reply via email to