【发布时间】:2013-03-25 14:46:59
【问题描述】:
在我的应用程序中,我将 DefaultDataTable 与以 LoadableDetachableModel 作为模型的 SortableDataProvider 一起使用。
我用它来显示一组记录(比如 RecordList 页面)。当我添加或删除一些记录并再次加载页面 RecordList 时,它会显示更改。但是,如果我使用浏览器的后退按钮并转到之前租用的 RecordList 页面(在添加/删除记录之前)。 DefaultDataTable 仍然有旧的记录集。当记录被删除时,这是一个大问题。
例如,如果我删除一条记录并按下返回按钮,则页面将失败,因为它试图显示的记录在数据库中不存在。添加不会产生问题,因为它根本没有在记录集中列出。
在另一个页面中,我只有带有 LoadableDetachableModel 的 PageableListView。它工作正常,没有问题。
【问题讨论】:
-
您确定后退按钮会导致服务器往返并且浏览器不会缓存前一页的 html 吗?你能分享你的 SortableDataProvider 的代码吗?您是否在该层中进行任何缓存?或者您使用的是可能缓存查询的 dao 层?
-
是的,有一个服务器往返。我没有使用任何缓存。
标签: wicket wicket-1.5 wicketstuff