Eureka! ;-) I figured it out (I think). The problem only exists when using any UrlRewriteRule, activation context and additional parameters. The t:ac seems to be added to the URL before the UrlRewriting happens, where the AjaxFormLoop parameters seem to be added after the rewriting which results in the buildURI being called twice, causing the double question mark.

My provided patch in https://issues.apache.org/jira/browse/TAP5-937 solves the issue by making the LinkImpl handle baseUrl's with already provided parameters use "&" in stead of "?" for the first parameter added.

I look forward to seeing the patch implemented.
Cheers,
Joost


Ulrich Stärk wrote:
Joost,

I still can't reproduce your issue. The requested URL when clicking the add row link according to firebug is http://localhost:8080/testpage.myajaxloop.rowinjector:inject?t:ac=passivate_value&t:formcomponentid=TestPage:form&t:formid=form which is perfectly valid and is the same as generated by Tapestry for the responsible javascript.
I tried with 5.2.0-SNAPSHOT and even directly from trunk.

Do you have some dispatcher or filter in place that might be messing with the URL?

Uli

Am 27.11.2009 15:53 schrieb Joost Schouten (ml):
I just tested it against 5.1.0.5 and it does *not* have the problem with the double printing of the question mark. There seems to be a problem on the snapshot. Has any work been done on it lately?

Ulrich Stärk wrote:
I tested it with 5.2.0-SNAPSHOT and 5.1.0.5, but to be 100% sure, I'll clear out my local maven repo and test again this evening.

Uli

Am 27.11.2009 15:21 schrieb Joost Schouten (ml):
Ulrich,

So in your case the add row url has appended the t:componentformid and t:formid to the parameter list in the url with the already available activation context param t:ac? And are you using the 5.2.0-SNAPSHOT? This only started happening recently where before all worked fine.

Thanks for you help,
Joost


Ulrich Stärk wrote:
I'm unable to reproduce any of the behaviour you are experiencing. The URL for the Ajax update generated by tapestry is valid and I don't get any errors.

Uli

Am 26.11.2009 17:15 schrieb Joost Schouten (ml):
Hi,

It's not just passivate, its an activate and passivate combination. The page [1] and tml [2] will reproduce the problem.

Strangely enough when in this example you remove the activate and passivate you get another weird error which looks like it could be related to http://issues.apache.org/jira/browse/TAP5-733. My more complex production code does not have this problem. Since it is secondary to my current situation I'll just leave it for now.

Cheers,
Joost

[1]
public class TestPage {
     @Property
   private String loopValue;
         @Component(parameters = {"source=['one','two','three']",
           "value=loopValue"})
   private AjaxFormLoop myAjaxLoop;

     @OnEvent(value=EventConstants.ADD_ROW)
   private Object handleAddRow() {
       return "the new row";
   }
     @OnEvent(value = EventConstants.PASSIVATE)
   private Object passivate() {
       return "passivate_value";
   }

   @OnEvent(value = EventConstants.ACTIVATE)
   private void activate(String value) {
   }
}



[2]
<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";>
   <head>
       <title>test page</title>
   </head>
   <body>
       <t:form>
           <div t:id="myAjaxLoop">
               <t:textfield value="loopValue"/>
           </div>
       </t:form>
   </body>
</html>


Ulrich Stärk wrote:
Could you provide a minimal example?

Am 26.11.2009 15:53 schrieb Joost Schouten (ml):
Hi,

When using the AjaxFormLoop's AddRowLink in conjunction with onPassivate an invalid url is generated [1]. When I remove onPassivate from my page all works fine.

Am I missing something, is this work in progress (I'm using the SNAPSHOT version) or shall I file a bug report?

Cheers,
Joost

[1] (shortened version but notice the double question mark) http://domain.com/page.form.rowinjector:inject?t:ac=3?t:formcomponentid=page:form&t:formid=contactDetailForm-12530f31add

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to