我有一個簡單的問題,但我無法解決它.. 我正在使用wicket。 在Web應用程序上,我有一個按鈕(加載)。當我點擊該按鈕時,一些數據從網上加載,保存在DataBase中,然後加載到Web應用程序(StartPage.html)上。我有另一個按鈕來修正數據(編輯),當我點擊它時,EditPage.html加載。所以我只有2頁。在對EditPage.html進行一些更正之後,我單擊DataBase中的保存按鈕和新的數據更新,然後應該加載到Web應用程序(StartPage.html)上。從Java中的另一個類獲取參數
這很簡單,但在點擊「加載」按鈕之前,應該是乾淨的。因此,如果我在「加載」之前清理表格,點擊「每次點擊」編輯「按鈕時將清除它。我試圖製作一些標誌,或者將參數發送到StartPage,但它看起來像一個圓圈。
StartPage應該每次加載數據,但第一次清理表,但不是。問題是以某種方式發送參數..
我希望它很清楚,有什麼建議嗎?
更新時間:
EditPage
public class EditPage extends WebPage {
public EditPage(final PageParameters parameters) {
Form<?> form = new Form<Void>("form") {
@Override
protected void onSubmit() {
// if button "save" clicked
PageParameters params = new PageParameters();
params.add("flag", "true");
setResponsePage(StartPage.class, params);
}
};
}
}
起始頁
public class StartPage extends WebPage {
public StartPage(final PageParameters parameters) {
String flag = parameters.getString("flag")
if (flag=="false")
// Delete from DB
Form<?> form = new Form<Void>("form") {
@Override
protected void onSubmit() {
// Load from web to DB
}
};
// Load from DB
}
}
您需要使用['RequestCycle.setResponsePage()']的重載(http://wicket.apache.org/apidocs/1.5/org/apache/wicket/request/cycle/RequestCycle.html# setResponsePage(java.lang.Class,org.apache.wicket.request.mapper.parameter.PageParameters))。分別傳遞'StartPage.class'或'EditPage.class',並實例化一個'PageParameters'實例。 – millimoose
(我已經做了Wicket已經有一段時間了,我沒有便捷的項目,所以我無法爲此提供完整的答案。) – millimoose
是的,但是我可以從EditPage發送到StartPage的哪個參數?我試過布爾標誌,但它並沒有讓它更容易..就像我做**公共布爾標誌**然後初始化它,然後下一次如果我要麼發送參數,它將被初始化相同的方式和參數將不會有幫助 – fen1ksss