Using frames can cause problems with 'expired' pages. Wicket holds a list (or actually a map) of page instances in your session (how many depends on your configuration, ApplicationSettings.maxPages), but defaults to 10 - which is problably higher than you need. Anyway, in some cases, like when working with frames, you want to have seperate lists. This is supported by Wicket by using the 'pagemap' parameter. If this parameter is not used, it will use it's default pagemap (that's probably what you want to use for your 'main' frame).
Here's an example of how you can set up your frames:
Code Block | ||||
---|---|---|---|---|
| ||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <HTML> <HEAD> <TITLE>A simple frameset document</TITLE> </HEAD> <FRAMESET cols="20%, 80%"> <FRAMESET rows="100, 200"> <FRAME src="myapp?wicket:bookmarkablePage=leftframe:mypackage.MyNavigationPage"> <FRAME src="myapp?wicket:bookmarkablePage=mypackage.MyMainPage"> </FRAMESET> <FRAME src="myapp?wicket:bookmarkablePage=bottomframe:mypackage.MyStatusBarPage"> </FRAMESET> </HTML> |
That's it. Page maps are created automatically, and all links etc of a page that was created for a certain page map will keep on refering that page map.
Note that if you make heavy use of popup windows, this strategy could be useful as well.