wicket页在另一个选项卡提交后过期
我正在使用wicket 6.9 我有一个表,其中链接列是这样创建的:wicket页在另一个选项卡提交后过期,wicket,wicket-1.6,Wicket,Wicket 1.6,我正在使用wicket 6.9 我有一个表,其中链接列是这样创建的: @Override public void onClick() { PageParameters pageParameters = new PageParameters(); IEntity iEntity = (IEntity) getDefaultModelObject();
@Override
public void onClick() {
PageParameters pageParameters = new PageParameters();
IEntity iEntity = (IEntity) getDefaultModelObject();
pageParameters.set(HomePage.NAVIGATE_TO, navigateTo);
String routingPropertyToPass = "";
String idToPass = String.valueOf(BeanUtils.getProperty(iEntity, idPropertyToPass));
log.info(routingProperty);
if (!ColumnType.LINKABLE_WITH_FILTER.equals(columnDisplay.getColumnType()))
routingPropertyToPass = String.valueOf(BeanUtils.getProperty(iEntity, routingProperty));
if (filterBy != null) {
log.info("passing to the next page idPropertyToPass = {} and idToPass {}", iconCssOrNextPageReflectionProperty,
idToPass);
pageParameters.add("filterBy", iconCssOrNextPageReflectionProperty + "," + idToPass);
} else {
pageParameters.set(HomePage.ENTITY_ID, idToPass);
pageParameters.set(HomePage.ROUTING_PROPERTY, routingPropertyToPass);
}
pageParameters.set(HomePage.CLASS_NAME, clazz.getSimpleName());
HomePage homePage = new HomePage(pageParameters);
setResponsePage(homePage);
}
当在另一个选项卡中打开“打开链接”时,第二个和第三个选项卡上的一切都正常。
但是当我在1-3上提交并返回网格,从那里再次点击另一个链接并获得页面扩展时
有什么原因吗 不要在link的onClick()方法中执行所有这些操作,而是在一个块中计算pageParameters对象,并使用BookmarkablePageLink,如下所示:
add(new BookmarkablePageLink("link", HomePage.class, pageParameters);
您看到页面过期消息的原因是,相对于用户的页面版本,您使用的链接将呈现不可添加书签的URL,并且很可能在其他选项卡上打开较新的页面版本,从而导致链接有效的旧版本被丢弃。您可以调整wicket在应用程序对象上存储了多少页面版本,但如果您有这些基于pageparameter的好东西,最好修复链接以呈现可书签(无状态)URL