2

個人の詳細を記録するページがあり、人数は動的です。実装に 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);

ここで、新しいタブ (借用者) を追加するたびに、前の借用者タブに入力されたデータは失われます。

4

0 に答える 0