Author: mgrigorov
Date: Tue Jul 19 07:34:19 2011
New Revision: 1148204
URL: http://svn.apache.org/viewvc?rev=1148204&view=rev
Log:
WICKET-3914 Wicket 1.5 violates servlet standard, Glassfish spews warnings
Set the request character encoding only if it is not already set and before
reading the request parameters.
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/protocol/http/WebApplication.java
wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/http/WebRequest.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=1148204&r1=1148203&r2=1148204&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 Jul 19 07:34:19 2011
@@ -415,33 +415,37 @@ public abstract class WebApplication ext
*/
WebRequest createWebRequest(HttpServletRequest servletRequest, final
String filterPath)
{
- if (hasFilterFactoryManager())
+ if (servletRequest.getCharacterEncoding() == null)
{
- for (AbstractRequestWrapperFactory factory :
getFilterFactoryManager())
+ try
{
- servletRequest =
factory.getWrapper(servletRequest);
+ String wicketAjaxHeader =
servletRequest.getHeader(WebRequest.HEADER_AJAX);
+ if (Strings.isTrue(wicketAjaxHeader))
+ {
+ // WICKET-3908, WICKET-1816: Forms
submitted with Ajax are always UTF-8 encoded
+
servletRequest.setCharacterEncoding(CharEncoding.UTF_8);
+ }
+ else
+ {
+ String requestEncoding =
getRequestCycleSettings().getResponseRequestEncoding();
+
servletRequest.setCharacterEncoding(requestEncoding);
+ }
+ }
+ catch (UnsupportedEncodingException e)
+ {
+ throw new WicketRuntimeException(e);
}
}
- WebRequest webRequest = newWebRequest(servletRequest,
filterPath);
-
- try
+ if (hasFilterFactoryManager())
{
- if (webRequest.isAjax())
- {
- // WICKET-3908: Forms submitted with Ajax are
always UTF-8 encoded
-
servletRequest.setCharacterEncoding(CharEncoding.UTF_8);
- }
- else
+ for (AbstractRequestWrapperFactory factory :
getFilterFactoryManager())
{
- String requestEncoding =
getRequestCycleSettings().getResponseRequestEncoding();
-
servletRequest.setCharacterEncoding(requestEncoding);
+ servletRequest =
factory.getWrapper(servletRequest);
}
}
- catch (UnsupportedEncodingException e)
- {
- throw new RuntimeException(e);
- }
+
+ WebRequest webRequest = newWebRequest(servletRequest,
filterPath);
return webRequest;
}
Modified:
wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/http/WebRequest.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/http/WebRequest.java?rev=1148204&r1=1148203&r2=1148204&view=diff
==============================================================================
---
wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/http/WebRequest.java
(original)
+++
wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/http/WebRequest.java
Tue Jul 19 07:34:19 2011
@@ -39,7 +39,7 @@ public abstract class WebRequest extends
/** marker for Ajax requests */
protected static final String PARAM_AJAX = "wicket-ajax";
/** marker for Ajax requests */
- protected static final String HEADER_AJAX = "Wicket-Ajax";
+ public static final String HEADER_AJAX = "Wicket-Ajax";
/** marker for Ajax-relative url */
protected static final String PARAM_AJAX_BASE_URL =
"wicket-ajax-baseurl";
/** marker for Ajax-relative url */