You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wicket.apache.org by Emond Papegaaij <em...@topicus.nl> on 2012/01/12 16:22:16 UTC
WICKET-4290 and regression of WICKET-4014 in 1.5.4
Hi all,
The change for 4290 causes problems with mounted pages, especially when the
mount has parameters. For example, if you mount a page at
'mount/${param}/part2', links on that page will should get an url like
'mount/value/part2?0-1.ILinkListener-path-to-component', however with the
change for 4290, the url looks like 'mount//part2?0-1.ILinkListener-path-to-
component'. The reason the full mount path is used, is because of WICKET-4014:
when a page is expired, the path is used to re-instantiate the page, without
invoking the listener. For WICKET-4290, Martin and I decided to change
Component.urlFor to require explicit page parameters to avoid clashes with
form fields.
I see no way to fix both 4290 and 4014 for all cases, therefore the best way
seems to be an option to either prevent parameter clashes or to prevent page
expired exceptions. I just pushed a change to the 1.5.x branch that implements
this option, in addition to the change I made earlier to reuse the
PageParameters from the page. It now also merges the PageParameters from the
handler into the page parameters.
IMHO this problem is big enough to not release 1.5.4 as it is now. It's a
regression of WICKET-4014 on pages with page parameters, it results in strange
looking urls and most importantly, it breaks the Selenium tests of our
application :)
Best regards,
Emond