首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wicket: StalePageException

wicket: StalePageException
EN

Stack Overflow用户
提问于 2015-10-01 15:43:42
回答 1查看 970关注 0票数 1

我用的是wicket 6.20。在这个wicket页面中,我使用一个AbstractDefaultAjaxBehavior来接收wicket内部的鼠标点击(x,y坐标):

代码语言:javascript
复制
class CallFromJavaScript extends AbstractDefaultAjaxBehavior {

    private static final long serialVersionUID = -123956851227148114L;

    @Override
    public void renderHead(Component component, IHeaderResponse response) {
        super.renderHead(component, response);

        String callbackUrl = getCallbackUrl().toString();

        String javaScript = "$(document).ready(function()"
                + "{$(document).click(function(e) {"
                + "Wicket.Ajax.get({ u: '" + callbackUrl
                + "&x='+e.clientX+'&y='+e.clientY});});});";
        response.render(OnDomReadyHeaderItem.forScript(javaScript));

    }

    @Override
    protected void respond(final AjaxRequestTarget target) {
        Request request = RequestCycle.get().getRequest();
        x = Integer.parseInt(request.getRequestParameters()
                .getParameterValue("x").toString());
        y = Integer.parseInt(request.getRequestParameters()
                .getParameterValue("y").toString());

        //more code....

        }
    }
}

如果我用一个用户打开页面(一个会话),一切都正常。但是,如果我与其他用户(不同的会话/其他计算机)一起打开页面,则会收到一个StalepageException:

RequestCycleExtra/qtp848034544-122 -/wicket/wicket/page?2-.警告:-处理以下异常org.apache.wicket.core.request.mapper.StalePageException: null

我注意到,如果我点击页面上的计算机A,java就会进入renderHead方法。如果我单击页面上的computer B,java将再次进入renderHead方法。java可以交替地进入renderHead方法。

如果我只用一台计算机(一次会话)打开页面,java只会一次进入renderHead方法。

有人能帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2015-10-19 11:01:23

您使用哪个URL在第二台计算机上打开页面?具体来说,URL是否包含页面ID?页ID仅在同一会话中有效;不能从其他会话中打开相同的页实例。只能在另一个会话中创建同一页类的另一个实例。

我认为需要在页面类和页面实例之间做一些澄清。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32891700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档