AjaxButtonでListView更新
public class Sample extends WebPage { public Sample() { List<String> list = //データベースから取り出す final WebMarkupContainer container = new WebMarkupContainer("container"); container.setOutputMarkupId(true); add(container); ListView<String> listview = new ListView<String>("list",list){ @Override protected void populateItem(ListItem<String> item) { item.add(new Label("contents",item.getModelObject().toString())); } }; container.add(listview); Form<Void> form = new Form<Void>("form"); add(form); TextField<String> textField = new TextField<String>("text"); form.add(textField); AjaxButton button = new AjaxButton("button") { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> arg1) { //データベースにテキスト追加処理 target.addComponent(container); } }; form.add(button); } }
この状態だとSubmitしてもListViewは更新されない。
//データベースにテキスト追加処理のしたに
listview.add(追加したテキスト);
を加えると更新された。