for scenarios like those simply pass the page instance to another page class secondsteppage extends webpage { public secondsteppage(page first) { add(new link("go-back") { onclick() { setresponsepage(first); }}); } }
-igor On 11/2/07, mfs <[EMAIL PROTECTED]> wrote: > > > igor.vaynberg wrote: > > > > On 11/1/07, mfs <[EMAIL PROTECTED]> wrote: > >> > >> Thanks igor, that really clarifies a lot of things..a couple of followup > >> question though.. > >> > >> So as you said versioning is implemented to handle the back button (and > >> subsequently "forward" properly, but i wonder if wicket enforces a hit to > >> the server on a browser back button by setting every response header as > >> no-cache/no-store (or by setting the page expiry etc)..otherwise wouldnt > >> it > >> be the browser cache showing the last viewed page, instead of wicket > >> showing > >> the page from the session (or the serialized version of the same if an > >> older > >> page).. > > > > have you pressed a back button in a wicket app? it works exactly as > > you describe, the previous page is retrieved from browser cache. but, > > when you click a link - which has the page id/version encoded - wicket > > can pull out the proper page version from the disk to handle the > > click. > > > > I SEE..BUT i am wondering of scenarios where one would want to refer to > > earlier version of a page (by have an explicit link to it)..? one scenario > > that comes to mind is like e.g. for use-case add-CreditCard for which the > > user clicks on add CC link (from a view user profile page) with add-CC > > screen being shown with 'back/cancel' (with link to the last viewed > > user-profile page) and 'save' on it (which results in new instances of teh > > the same page getting constructed)..but still in this scenario its just > > the last viewed user-profile page (which infact is in the RAM and not > > serialized) that is accessed i m still thinking where would the old > > serialized pages would come to use...can u give me an example..? ..though > > even in this scenario (i.e. clicking back) i would want to re-construct a > > new user-profile-page so as to show the latest data instead of showing the > > one in session with not the latest model data.. > > > > OR you might say that we are not saving the model data, and with using the > > detach model we load the data against the component and hence always a > > fresh model..but still i would know of examples where the old pages are > > really being valuable? > > > > Thanks alot again.. > > > > > >> Also when you say just the page objects with their component graph are > >> stored, i assume also the models associated with the components are also > >> stored (thats where detach comes into play)...right ? > > > > yes. but components can also have state that is shed in detaching, so > > detaching applies to components and models. > > > > -igor > > > > > >> > >> Thanks alot again and Regards, > >> > >> Farhan. > >> > >> > >> > >> > >> > >> igor.vaynberg wrote: > >> > > >> > On 11/1/07, mfs <[EMAIL PROTECTED]> wrote: > >> >> > >> >> PageMap stores a single instance of a particular page ? OR could it > >> have > >> >> multiple instances of the same page (browsed by user at different > >> >> instances > >> >> against 2 different use-case lets say), > >> > > >> > yes, it can have multiple instances of the same page-class > >> > > >> > > >> > > >> >> and if there could be muliple > >> >> instances of the same page, its just the page being viewed which is in > >> >> the > >> >> PageMap (in session) > >> >> and the rest are all serialized on the disk, database etc... > >> > > >> > in 1.2.x they would all be stored in session, at least the last X > >> > instances. in 1.3 only the current page is in session (last viewed), > >> > the rest are swapped to disk. > >> > > >> >> ARE they all > >> >> rendered instances or the components and models are stored > >> seperately...? > >> > > >> > they are not rendered instances, they are the page object with its > >> > component graph, stored in the detached state (detach() is called on > >> > page and all its children before serialization) > >> > > >> >> i am just familiarizing myself with the concept, i mean wouldnt we > >> want > >> >> to > >> >> have latest data against each page displayed every time, why version > >> them > >> >> then ? is it there to handle the back button problem.. > >> > > >> > yes, versioning is done to support the back button, so an instance of > >> > the page can be retrieved in the "correct" state. > >> > > >> > -igor > >> > > >> > > >> > > >> >> > >> >> ALOT of questions at teh same time..just want to clarify the > >> concept/idea > >> >> so > >> >> if someone could be kind enough to shed some light ? > >> >> > >> >> Farhan. > >> >> -- > >> >> View this message in context: > >> >> http://www.nabble.com/pageMap-question---tf4735205.html#a13541168 > >> >> Sent from the Wicket - User mailing list archive at Nabble.com. > >> >> > >> >> > >> >> --------------------------------------------------------------------- > >> >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> >> For additional commands, e-mail: [EMAIL PROTECTED] > >> >> > >> >> > >> > > >> > --------------------------------------------------------------------- > >> > To unsubscribe, e-mail: [EMAIL PROTECTED] > >> > For additional commands, e-mail: [EMAIL PROTECTED] > >> > > >> > > >> > > >> > >> -- > >> View this message in context: > >> http://www.nabble.com/pageMap-question---tf4735205.html#a13542377 > >> Sent from the Wicket - User mailing list archive at Nabble.com. > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > -- > View this message in context: > http://www.nabble.com/pageMap-question---tf4735205.html#a13553487 > Sent from the Wicket - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]