not that strange. the base url (unless something like a portlet
container completely reencodes it) includes the listener interface
which is the ?foo part, thus we do not bother checking for ? in the
url.

-igor

On Thu, Nov 10, 2011 at 12:25 AM, Martin Grigorov <[email protected]> wrote:
> 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