Panel | ||||
---|---|---|---|---|
| ||||
|
Date: 27 January 2006<p>2006
Author: David Leangen http://www.leangen.net
...
Rather, what we need is a repeater that refreshes itself each time the page renders. This is exactly what ListView is for!
Panelinfo |
---|
When working with a database, it is often a good choice to However, for the sake of simplicity, in this example we use |
...
Code Block |
---|
Note: this code has not been tested. It is only intended to show the concepts. SearchPage extends WebPage { String criteria; List results; //getters and setters public SearchPage() { ListView view = new ListView ( "list", new PropertyModel(this, "results")) { protected void populateItem( ListItem item ) { String result = (String) item.getModelObject(); add( new Label( "item", result ) ); } } ); Form form = new SearchForm(....); form.add( new TextField( "id", new PropertyModel(this, "criteria" ) ); form.add ( new Button("button") { public onsubmitvoid onSubmit() { results = getResultsFromCriteria(criteria); } } ); } } |
...
In other words, all the objects are created once and only once in the Page constructor, but the data is retrieved dynamically upon each Page render.
Panelinfo |
---|
For additional discussion on ListView see: |
...