2012-05-24 58 views
0

我有一個表單和BACK按鈕的新問題。Wicket - 表單提交後的返回按鈕

以形成這樣的:

public SearchSomethingForm() { 
super(ORSAWebConstants.FORM); 
setModel(new CompoundPropertyModel<Void>(this)); 

add(section01Panel); 
add(section02Panel); 
add(section03Panel); 
add(new SubmitButton()); 

}

正如你看到的,我沒有對單個對象的屬性示範基地。

在窗體裏面,我只在裏面添加一些面板和一些INPUT。例如:

private String name; 
protected void onInitialize() { 
super.onInitialize(); 
final TextField<String> foo = new TextField<String> ("name",new PropertyModel<String>(this,"name")); 
add (foo); 
} 

每個面板代碼都有類似的東西。一些BIND輸入到本地屬性。

然後在表單提交,我可以

section01Panel.getName(); 

問題

讀值表格提交後,我打開一個新頁面與結果。我想要一個返回按鈕到FORM的頁面,每個預先輸入的字段已經編譯完畢,所以用戶只需要改變一部分表單來進行新的搜索。

沒有一個特定的PropertyModel,我不能編譯對象與其屬性映射到表單字段。表單不知道這種FIELD將被添加。

我怎樣才能解決這個問題?

謝謝。

+1

是否存在將狀態存儲在各種組件中而不是單個專用狀態對象的特定原因? – biziclop

回答

0

一些測試後,我發現檢票可以從網頁傳遞整個頁面,所以當我把新的一頁,我通過表單頁面:

SheetPage page = new SheetPage("SheetPage", idPojo,FormPage.this); 
setResponsePage(page); 

在SheetPage我將有一個鏈接到前一頁:

public SheetPage(String title, String idPojo, final FormPage fPage) { 
    Link back = new Link("back"){ 
     private static final long serialVersionUID = 1L; 

     public void onClick() { 
     setResponsePage(fPage); 
     }; 
    }; 
} 

當我回到FormPage,我會發現頁面與晶完全預編譯打開頁紙之前。真棒!