wicket 中ListView和WebMarkupContainer以及AjaxButton的使用

此例子为wicket中在页面中点检索后,在本页面显示出检索结果所用到的控件:

importjava.util.ArrayList;

importjava.util.List;

importjp.co.infomart.foods.common.admin.page.BasePage;

importorg.apache.wicket.ajax.AjaxRequestTarget;

importorg.apache.wicket.ajax.markup.html.form.AjaxButton;

importorg.apache.wicket.markup.html.WebMarkupContainer;

importorg.apache.wicket.markup.html.basic.Label;

importorg.apache.wicket.markup.html.form.Form;

importorg.apache.wicket.markup.html.list.ListItem;

importorg.apache.wicket.markup.html.list.ListView;

/**

*

*@authoradmin

*/

publicclassTest_ListViewextendsBasePage{

privateFormform;

privatestaticListbooks=newArrayList();

WebMarkupContainercontainer;

publicTest_ListView(){

super();

form=newForm("myForm");

this.add(form);

container=newWebMarkupContainer("listViewContainer");

container.setOutputMarkupId(true);

//

ListViewlistView=newListView("books",books){

@Override

protectedvoidpopulateItem(ListItemitem){

Test_ListViewModelbook=(Test_ListViewModel)item.getModelObject();

item.add(newLabel("id",Integer.toString(book.getId())));

item.add(newLabel("title",book.getTitle()));

item.add(newLabel("author",book.getAuthor()));

}

};

container.add(listView);

form.add(container);

AjaxButtonajaxButton=newAjaxButton("ajaxButton"){

@Override

protectedvoidonSubmit(AjaxRequestTargetart,Form<?>form){

init();

art.addComponent(container);

}

@Override

protectedvoidonError(AjaxRequestTargetart,Form<?>form){

thrownewUnsupportedOperationException("Notsupportedyet.");

}

};

form.add(ajaxButton);

}

publicvoidinit(){

books.clear();

for(inti=1;i<10;i++){

Test_ListViewModelbook=newTest_ListViewModel();

book.setId(i);

book.setAuthor("author"+i);

book.setTitle("title"+i);

books.add(book);

}

}

}

<html>

<head>

<metahttp-equiv="Content-Type"content="text/html;charset=UTF-8">

<title>test</title>

</head>

<bodybgcolor="#FFFFFF"text="#000000"topmargin="0"leftmargin="0"marginwidth="0"marginheight="0"onUnload="fCloseWin()">

<formwicket:id="myForm">

<divwicket:id="listViewContainer">

<tablewidth="240"border="1">

<tr>

<th>序号</th>

<th>书名</th>

<th>作者</th>

</tr>

<trwicket:id="books">

<tdwicket:id="id">id</td>

<tdwicket:id="title">title</td>

<tdwicket:id="author">author</td>

</tr>

</table>

</div>

<inputtype="submit"wicket:id="ajaxButton"/>

</form>

</body>

</html>

publicclassTest_ListViewModel{

privateintid;

privateStringtitle;

privateStringauthor;

publicStringgetAuthor(){

returnauthor;

}

publicvoidsetAuthor(Stringauthor){

this.author=author;

}

publicintgetId(){

returnid;

}

publicvoidsetId(intid){

this.id=id;

}

publicStringgetTitle(){

returntitle;

}

publicvoidsetTitle(Stringtitle){

this.title=title;

}

}

相关推荐