我有许多有状态的页面,每个页面都有一些状态。例如,每个页面都有一个已提交的表单。
如何组织一个菜单,其中包含指向这些有状态页面的最新版本的链接?我应该在任何地方(可能在 session 中)存储对每个页面的适当对象的引用吗?如果我使用
onClick() { setResponsePage(MyPage.class); }
比我失去页面的先前状态。我想链接到页面的最后状态。
最佳答案
每次呈现页面时,将页面的 id 存储在 session 中。
int pageId = pageInstance.getPageId();
可以使用列表或堆栈数据结构来保存标识符。
您可以使用中继器(RepeatingView 等)实现导航菜单,该中继器为 session 中的每个页面 ID 创建一个新链接。
在链接的点击处理程序中,您可以按如下方式重定向用户:
Page pageInstance = (Page) new PageProvider(pageId, null).getPageInstance();
setResponsePage(pageInstance);
关于wicket - 链接到有状态页面的最新版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18488241/