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
