Author: ivaynberg
Date: Sun Oct 25 07:07:04 2009
New Revision: 829501
URL: http://svn.apache.org/viewvc?rev=829501&view=rev
Log:
WICKET-2491 better multipart ajax handling
Issue: WICKET-2491
Modified:
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/Request.java
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java
Modified:
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/Request.java
URL:
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/Request.java?rev=829501&r1=829500&r2=829501&view=diff
==============================================================================
---
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/Request.java
(original)
+++
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/Request.java
Sun Oct 25 07:07:04 2009
@@ -143,6 +143,17 @@
}
/**
+ * Sets request parameters. Should only be used when one request is
being created as a
+ * replacement for another.
+ *
+ * @param requestParameters
+ */
+ public final void setRequestParameters(RequestParameters
requestParameters)
+ {
+ this.requestParameters = requestParameters;
+ }
+
+ /**
* Gets the request parameters object using the instance of {...@link
IRequestCodingStrategy} of
* the provided request cycle processor.
*
Modified:
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js
URL:
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js?rev=829501&r1=829500&r2=829501&view=diff
==============================================================================
---
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js
(original)
+++
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js
Sun Oct 25 07:07:04 2009
@@ -1116,7 +1116,7 @@
// reconfigure the form
form.target=iframe.name;
- form.action=this.request.url;
+ form.action=this.request.url + "&wicket:ajax=true";
// create submitting button element
if (submitButton!=null) {
Modified:
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java
URL:
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java?rev=829501&r1=829500&r2=829501&view=diff
==============================================================================
---
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java
(original)
+++
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java
Sun Oct 25 07:07:04 2009
@@ -1634,7 +1634,7 @@
*/
protected boolean handleMultiPart()
{
- if (isMultiPart() && !((WebRequest)getRequest()).isAjax())
+ if (isMultiPart())
{
// Change the request to a multipart web request so
parameters are
// parsed out correctly
Modified:
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java
URL:
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java?rev=829501&r1=829500&r2=829501&view=diff
==============================================================================
---
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java
(original)
+++
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java
Sun Oct 25 07:07:04 2009
@@ -77,6 +77,10 @@
ajax = false;
String ajaxHeader = httpServletRequest.getHeader("Wicket-Ajax");
+
+ if (Strings.isEmpty(ajaxHeader))
+ ajaxHeader =
httpServletRequest.getParameter("wicket:ajax");
+
if (Strings.isEmpty(ajaxHeader) == false)
{
try
@@ -493,7 +497,10 @@
{
try
{
- return new
MultipartServletWebRequest(httpServletRequest, maxsize);
+ MultipartServletWebRequest multipart = new
MultipartServletWebRequest(
+ httpServletRequest, maxsize);
+ multipart.setRequestParameters(getRequestParameters());
+ return multipart;
}
catch (FileUploadException e)
{