THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block |
---|
Note: this code has not been tested. It is only intended to show the concepts.
SearchPage extends WebPage
{
String criteria;
List results;
public SearchPage()
{
ListView view =
new ListView ( "list", new PropertyModel(this, "results"))
{
protected void populateItem( ListItem item )
{
String result = (String) item.getModelObject();
item.add( new Label( "item", result ) );
}
};
Form form = new SearchForm(....);
form.add( new TextField( "textField", new PropertyModel(this, "criteria" ) );
form.add
(
new Button("button")
{
public void onSubmit()
{
results = getResultsFromCriteria(criteria);
}
}
);
add(form);
}
}
|
The principle is this: every time the page renders, the ListView will populate itself with the inserted List, that also happens to be a page property. Every time the form is submitted (i.e. there is a new request for a search), the List is updated based on the results obtained using the search string.
...