У меня возникла небольшая проблема с моим калиткой.Wicket RepeatingView refresh/rerender? Возможности? [Список элементов отсутствует]
Проблема находится на странице с названием OverviewPage, вот несколько панелей, таких как ListPanel, в которых работает RepeatingView.
Этот элемент RepeatingView (List) получил некоторые элементы с кнопкой для каждого элемента, если я нажму кнопку, меня переадресуют на другую страницу (RegistrationPage), и некоторые изменения в RepeatingView (list) будут выполнены.
Если я вернусь обратно к обзорной странице с помощью RepeatingView (list), список будет таким же, как раньше. Я внес изменения в элементы списка, но они не видны. (Я не нажимал кнопку назад браузера, я нажал ссылку на мою навигацию)
Я знаю примеры страниц калитки, которые длились в течение сессии. Могу ли я сообщить калитке, чтобы повторно отобразить эту страницу/список? какие возможности существуют? может кто-нибудь?
Благодаря
EDIT:
Ниже Группа, которая держит 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);
}
Как вы можете видеть, единственное, что я хочу изменить, это одно изображение, ссылка-i маг. для подписки или отмены подписки на услугу. элементы списка остаются неизменными.
Iam совершенно новый для калитки и, возможно, это моя проблема.
Надеюсь, что теперь его лучше объяснить.
Я добавил код – DaUser