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

Reply via email to