Hi, see the replies below
2010/8/23 Major Péter <majorpe...@sch.bme.hu>: > Hi! > > As I'm testing wicket 1.5-SNAPSHOT, I'm seeing some strange behaviors: > With 1.4 I've used to have url's like: > showuser/id/1234 > now when I open simply the page without params, I will see the following > URL: > showuser?[0-9]+ The number after ? is page id. Since wicket is a stateful framework (by default) we need to track page instances. > When I looked at the JavaDoc of the new MountMapper (which is the > replacement for mountBookmarkablePage), I saw that I'm having this URL, > because my page is not stateless. In a way, yes. Stateless pages generally do not have page ids in URL. > Q1: with 1.4 this was possible, because the URL contained the pagemap > instance number, or is there something else? > Q2: (a little n00b question) how can I find out which component makes my > page stateful? Usually it is a component that returns false in isStateless or generates a stateful listener interface URL. > > when I try to hit the URL now: > showuser/id/1234 > then I'm going to have indexed parameters and not named parameter with > 'id' name. Q3: Why is that? Because it's not a named paramerer (by default). The URL in question will have two indexed parameters. id and 1234. Big problem in 1.4 was that there was no distinction between indexed parameters (part of path) and named parameters (usually part query string). So it was difficult to build URLs such as showpage/13?sort=asc 1.5 fixes this by defining URL scheme like this: /page/mount/path/indexed-param0/indexed-param1?named1=value1&name2=value2 Btw. you should be able to mount the url in question as showuser/id/{user-id} wicket should then make user-id a named parameter. > if I have a page with URL in browser: > showuser?8&id=123 > and I rewrite the id to 124, then I'm going to still see the page for > 123, which is really disturbing! Q4: is there a solution for this to > work? Or should I make my page stateless to be able to do this?? (How?) It is still the same page instance. Obviously in your case you take the page parameters into account only in page constructor. So when you later change the id value (but leave page id the same) nothing changes. However if you for example override page onBeforeRender() and call getPageParameters() there the id parameter will have proper value. > > Also how could I make Wicket to use by default the /id/1234 format > instead of ?3&id=1234 for link creation?? You can either set id and 1234 as indexed parameters or mount the page as /showuser/id/{user-id} -Matej > > Thanks for your help. > > Best Regards, > Peter Major > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org