Wicket:用于操作+重定向到当前页面的链接

时间:2016-02-25 11:14:56

标签: hyperlink wicket

虽然我现在使用Wicket已有几年了,但我仍然不明白在这种情况下使用哪种链接组件:

我想展示一个无状态的可收藏页面,该页面列出了数据库中的几个条目,这些条目是该可收藏页面的几个页面参数的查询。这些条目中的每一个都应该是可删除的(使用普通的确认对话框)。在确认模式“你确定要删除此项目”对话框后,它应该重定向到相同的无状态可书签页面,因此相同的页面参数会导致再次查询数据库,现在显示删除后的条目。

我已使用DataView创建了一个ListDataProvider组件来显示条目。删除链接的创建方式如下:

... new ListDataProvider<>(entries) {
public void populateItem(Item<MyEntry> item) {
    final MyEntry entry = item.getModelObject();
    ...


    item.add(new Link<Long>("delete", Model.of(entry.getId())) {
        public void onClick() {
          // todo: delete
          System.out.println("delete " + getModelObject().longValue());
          getRequestCycle().setResponsePage(MyPage.class, getPageParameters());
        }
    }
    ...
}

不幸的是,每次“删除”点击都会增加页面版本号。

1 个答案:

答案 0 :(得分:2)

如果网页中的网址已经有了pageId,则首先无状态。

在您的情况下,您要求StatelessLink。但您必须确保不要在页面中使用任何其他有状态组件。你可以使用wicket-devutils&#39; StatelessChecker听众找到其他有状态的东西。