wicket页在另一个选项卡提交后过期

wicket页在另一个选项卡提交后过期,wicket,wicket-1.6,Wicket,Wicket 1.6,我正在使用wicket 6.9 我有一个表,其中链接列是这样创建的: @Override public void onClick() { PageParameters pageParameters = new PageParameters(); IEntity iEntity = (IEntity) getDefaultModelObject();

我正在使用wicket 6.9 我有一个表,其中链接列是这样创建的:

               @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