У меня есть страница панели, где я показываю две ссылки в виде хлебных крошек при нажатии кнопки со страницы.Я хочу иметь возможность вернуться на ту же страницу на кнопку назад.например, я нахожусь на странице панели «Группа» и при нажатии кнопки на странице группы отображаются две хлебные крошки
Группа >> элемент >> приложение.Я хочу вернуться на страницу группы со страницы приложения при нажатии кнопки «Назад».
public class GroupPanel extends Panel
{
private final IBreadCrumModel breadCrumbModel;
public GroupPanel(String id, final IBreadCrumbModel breadCrumbModel)
{
super(id);
this.breadCrumbModel = breadCrumbModel;
addGroup();
}
public void addGroup()
{
add(new ListView<GroupDetails>("rows", listData)
{
public void populateItem(final ListItem<GroupDetails> item)
{
item.add(new WebMarkupContainer("view")
{
private static final long serialVersionUID = 1L;
@Override
public boolean isVisible()
{
return true;
}
}.add(new BreadCrumbLink<Void>("action", breadCrumbModel)
{
private static final long serialVersionUID = 1L;
@Override
public IBreadCrumbParticipant getBreadCrumbParticipant()
{
breadCrumbModel.setActive(new ItemPanel(breadCrumbModel, ItemModel));// adding
// two
// breadcrumbs
return new ApplicationPanel(breadCrumbModel, ApplicationModel);
}
}));
}
});
}
}
public class ApplicationPanel extends BreadCrumbPanel
{
private IBreadCrumbParticipant breadCrumbReturn
public ApplicationPanel(final IBreadCrumbModel breadCrumbModel, IModel<Application> ApplicationModel){
this(breadCrumbModel.getActive().getComponent().getId(), breadCrumbModel, ApplicationModel)
}
public ApplicationPanel(String id, final IBreadCrumbModel breadCrumbModel, IModel<Application> ApplicationModel){
super(id, breadCrumbModel)
setBreadCrumbModel(breadcrumbs.getActive())
}
@Override
protected void onInitialize() {
super.onInitialize()
form = new Form<Void>("form"){
add(form);
addBackButton();
}
public void setBreadCrumbReturn(IBreadCrumbParticipant breadCrumbReturn)
{
this.breadCrumbReturn = breadCrumbReturn;
}
protected void addBackButton(){
form.add(new BreadCrumbLink<Void>("back", getBreadCrumbModel()) {
private static final long serialVersionUID = 1L;
@Override
public IBreadCrumbParticipant getBreadCrumbParticipant() {
return breadCrumbReturn;
}
@Override
public boolean isVisible() {
return true
}
});
}
/**
* @see org.apache.wicket.extensions.breadcrumb.IBreadCrumbParticipant#getTitle()
*/
public String getTitle()
{
return "Application";
}
}
public class Item extends BreadCrumbPanel{
public Item(IBreadCrumbModel breadCrumbModel, final IModel<Item> itemModel){
super(breadCrumbModel.getActive().getComponent().getId(), breadCrumbModel)
}
}