フォームと戻るボタンに新しい問題があります。
この種のフォームを取ります:
public SearchSomethingForm() {
super(ORSAWebConstants.FORM);
setModel(new CompoundPropertyModel<Void>(this));
add(section01Panel);
add(section02Panel);
add(section03Panel);
add(new SubmitButton());
}
ご覧のとおり、単一のオブジェクトに基づくプロパティモデルはありません。
フォーム内には、入力を含むパネルのみを追加します。例えば:
private String name;
protected void onInitialize() {
super.onInitialize();
final TextField<String> foo = new TextField<String> ("name",new PropertyModel<String>(this,"name"));
add (foo);
}
すべてのPanelコードにはそのようなものがあります。ローカルプロパティへのBINDを使用した入力。
次に、FORM SUBMITで、次の値を読み取ることができます。
section01Panel.getName();
問題
フォームを送信した後、新しいページを開いて結果を表示します。事前に入力されたすべてのフィールドがすでにコンパイルされているフォームのページに戻るボタンが必要なので、ユーザーはフォームの一部を変更するだけで新しい検索を行うことができます。
特定のPropertyModelがないと、フォームフィールドにプロパティがマップされたオブジェクトをコンパイルできません。フォームは、どの種類のフィールドが追加されるかを知りません。
どうすればこれを解決できますか?