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 >
