【发布时间】:2010-10-27 16:43:37
【问题描述】:
我正在使用 Wicket AjaxLazyLoadPanel 来呈现项目列表(每个项目都是自己的面板)。当您在新的浏览器会话中导航到页面时,它工作正常除了(启动浏览器,直接转到此页面而不访问应用程序中的任何其他页面)。执行此操作时,它会呈现第一个项目,但永远显示其他 12 个的等待指示符。
这是 Wicket 中的错误吗?我使用的是 1.4.9 版
编辑:
这是 LazyLoadPanel 的使用方式。 getLazyLoadComponent() 只会在您第一次点击页面时被调用一次:
public void populateItem(final Item<ListSearchRow> item) {
item.add(new AjaxLazyLoadPanel("result") {
private static final long serialVersionUID = 1L;
@Override
public Component getLazyLoadComponent(String markupId) {
return new ListResult(markupId, item.getModel());
}
});
}
【问题讨论】:
-
jsessionid 不太可能是问题所在。在您使用 AjaxLazyLoadPanel 的地方发布代码可能会有所帮助。
-
jsessionid 在第一种情况下位于 url 上,因为会话是新的并且 cookie 尚未设置。对于第一个请求,它附加到 url 是正常的,因为服务器不知道客户端是否会接受 cookie。