我的小門應用程序出現了一些問題。Wicket RepeatingView刷新/重新顯示?可能性? [列表項缺失]
問題出在一個名爲OverviewPage的頁面上,這裏有一些面板,像ListPanel,我的RepeatingView是。
這RepeatingView(列表)得到了一些項目與每個項目的按鈕,如果我按下按鈕,我將被重定向到另一個頁面(RegistrationPage),並對RepeatingView(列表)進行了一些更改。
如果我現在使用RepeatingView(列表)導航回OverviewPage,則列表與以前完全相同。我對列表項進行了更改,但它們不可見。 (我沒有按下瀏覽器後退按鈕,我點擊了我的導航鏈接)
我知道wicket頁面會話的最後一個實例。我可以告訴wicket重新呈現此頁面/列表嗎?那裏有什麼可能性?誰可以嗎?
感謝
編輯:
以下是保持RepeatingView面板:
/**
*
* Constructor...
*
* @param id
*/
public ServiceListPanel(String id) {
super(id);
RepeatingView repeating = new RepeatingView("repeating");
add(repeating);
int index = 0;
// add all services to the list
for (Service service : databaseService.getAllServices()) {
AbstractItem item = new AbstractItem(repeating.newChildId());
repeating.add(item);
item.add(new ActionPanel("actions", new Model<Service>(service)));
item.add(new Label("name", service.getName()));
item.add(new Label("description", service.getDescription()));
item.add(new Label("country", service.getCountry()));
final int idx = index;
item.add(AttributeModifier.replace("class", new AbstractReadOnlyModel<String>() {
private static final long serialVersionUID = 1L;
@Override
public String getObject() {
return (idx % 2 == 1) ? "even" : "odd";
}
}));
index++;
}
}
下一個是ActionPanel在變化應該發生:
/**
*
* Constructor...
*
* @param id
* @param model
*/
public ActionPanel(String id, final IModel<Service> model) {
super(id);
Link<?> link;
ContextImage image;
final ServiceUserDetails user = getSession().getUser();
final Service service = model.getObject();
// Check for groups and customize the link to subscribe or unsubscribe
if (checkUserGroups(user, service)) {
image = new ContextImage("img", "template/img/unsubscribe.gif");
link = new Link<Void>("select") {
/** */
private static final long serialVersionUID = -2153508505463870485L;
/**
*
* @see org.apache.wicket.markup.html.link.Link#onClick()
*/
@Override
public void onClick() {
ServiceRequest req = new ServiceRequest(service, user, "DELETE");
serviceProcessor.handleServiceRequest(req);
setResponsePage(new RegistrationPage());
}
};
} else { // user is not in group
image = new ContextImage("img", "template/img/subscribe.gif");
link = new Link<Void>("select") {
/** */
private static final long serialVersionUID = -2153508505463870485L;
/**
*
* @see org.apache.wicket.markup.html.link.Link#onClick()
*/
@Override
public void onClick() {
ServiceRequest req = new ServiceRequest(service, user, "PUT");
serviceProcessor.handleServiceRequest(req);
setResponsePage(new RegistrationPage());
}
};
}
link.add(image);
add(link);
}
正如你所看到的,我唯一想改變的就是一個圖像,一個鏈接,我法師。用於訂閱或取消訂閱服務。列表項目保持不變。
Iam相當新的檢票口,也許多數民衆贊成我的問題。
現在希望它更好地解釋。
我在此處添加了一些代碼 – DaUser 2013-05-07 14:07:27