個人の詳細を記録するページがあり、人数は動的です。実装に AjaxTabbedPanel を使用してみました。tabPanel に新しいタブを追加すると、各タブの生データが失われます。新しいタブを追加しても、以前のタブの値を保持したいと思います。そして、すべての人に関する情報が入力されるまで、フォームも送信したくありません。他の提案も大歓迎です。前もって感謝します。
List<ITab> tabs = new ArrayList<ITab>();
Set<Borrower> borrowers;
AjaxTabbedPanel ajaxTabbedPanel;
Form form = new Form("mainForm");
form.add(new AjaxLink("addBorrower") {
@Override
public void onClick(AjaxRequestTarget ajaxRequestTarget) {
tabs.add(new AbstractTab(new Model(panelId)) {
public Panel getPanel(String panelId) {
return new BorrowerInfoComponent(panelId);
}
});
ajaxRequestTarget.addComponent(ajaxTabbedPanel);
}
});
tabs.add(new AbstractTab(new Model("borr1")) {
public Panel getPanel(String panelId) {
return new BorrowerInfoComponent(panelId);
}
});
ajaxTabbedPanel = new AjaxTabbedPanel("tabs", tabs);
form.add(ajaxTabbedPanel);
add(form);
ここで、新しいタブ (借用者) を追加するたびに、前の借用者タブに入力されたデータは失われます。