Hi,

Please create a ticket in Jira with this patch.
It is strange it didn't break so far in non-portlet environments

On Thu, Nov 10, 2011 at 1:28 AM, José Antonio Matute Calvo
<[email protected]> wrote:
> Hi!,
>
> Recently, when we were developing an application for IBM WebSphere Portal
> 6.1 (JSR286 Portlet) using Wicket 1.4.18, we had problems with forms that
> use AjaxButton component for submitting.
>
> After some investigations, we realized that the problem was on the
> javascript side (wicket-ajax.js).  The url encoded by IBM WebSphere Portal
> 6.1 has the following pattern:
>
> /wps/myportal/!ut/p/c5/_very_very_long_string_ended_with_a_slash/
>
> and when wicket-ajax.js do the submit, builds the following url
>
> /wps/myportal/!ut/p/c5/_very_very_long_string_ended_with_a_slash/&wicket:ajax=true
>
> As you can see, this is an invalid URL: after the / must be an ? not an &
>
> Fortunately, the solutions is easy. Here are the patch:
>
> Index: wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js
> ===================================================================
> --- wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js (revision
> 1176907)
> +++ wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js (working
> copy)
> @@ -1192,7 +1192,7 @@
>
>  // reconfigure the form
>  form.target=iframe.name;
> - form.action=this.request.url + "&wicket:ajax=true";
> + form.action=this.request.url + (this.request.url.indexOf("?")>-1 ? "&" :
> "?") + "wicket:ajax=true";
>  form.method="post";
>  form.enctype="multipart/form-data";
>  form.encoding="multipart/form-data";
>
> do you think this solution is fine? If it is, can this fix be included in
> the next release of wicket 1.4.x?
>
> Best regards,
>
> José Antonio Matute
>
> keen*soft
> *email:  [email protected]
> web:     http://www.keensoft.es
>
> CONFIDENCIALIDAD:
>
> La presente comunicación y, en su caso, los ficheros que lleve adjuntos,
> pertenecen exclusivamente a las personas a las que va dirigido y puede
> contener información confidencial. Si usted no es el destinatario de este
> mensaje (o la persona responsable de su entrega), considérese advertido de
> que lo ha recibido por error y que cualquier uso, difusión, reenvío o copia
> están prohibidos legalmente. Si ha recibido este mensaje por error, por
> favor notifíquelo al remitente y proceda a destruirlo inmediatamente.
>
> This message and the attached documents may contain privileged/confidential
> information and intended solely for the use of the individual to whom it is
> addressed. If you are not the intended recipient (or responsible for
> delivery of the message to such a person) be advised that you have received
> this message in error and that any use, dissemination, forwarding, printing
> or copying of this e-mail is strictly prohibited. If you have received this
> message in error please notify it to the sender and destroy it immediately
>



-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

Reply via email to