У меня возникла небольшая проблема с моим приложением калитки.
Проблема на странице под названием OverviewPage, вот некоторые панели, такие как ListPanel, в которых находится мой RepeatingView.
В этом RepeatingView (списке) есть несколько элементов с кнопкой для каждого элемента, если я нажму кнопку, я буду перенаправлен на другую страницу (RegistrationPage), и будут сделаны некоторые изменения в RepeatingView (список).
Если я теперь вернусь к обзорной странице с RepeatingView (списком), список будет точно таким же, как и раньше. Я внес изменения в элементы списка, но они не видны. (Я не нажимал кнопку возврата браузера, я щелкнул ссылку моей навигации)
Я знаю, что страницы калитки сохраняются в течение сеанса. Могу ли я указать калитке повторно отобразить эту страницу/список? какие есть возможности? может кто?
Спасибо
РЕДАКТИРОВАТЬ:
Ниже приведена панель, содержащая 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);
}
Как видите, единственное, что я хочу изменить, это одно изображение, изображение-ссылку. для подписки или отказа от подписки на услугу. элементы списка остаются прежними.
Я совершенно новичок в калитке, и, возможно, это моя проблема.
Надеюсь, теперь это лучше объяснено.