gpt4 book ai didi

java - 如何在 Wicket 6.x 中正确使用 CallBackScript

转载 作者:行者123 更新时间:2023-11-30 09:28:36 29 4
gpt4 key购买 nike

在 Wicket 1.x 中,我使用 AjaxEventBehavior 放置一个 CallBackScript 来为我提供鼠标坐标。这就是我所做的:(getEventX() 和 getEventY() 是 JavaScript 函数)

    myObject.add(new AjaxEventBehavior("onClick") {
private static final long serialVersionUID = 1L;

@Override
protected CharSequence getCallbackScript() {
return generateCallbackScript("wicketAjaxGet('" + getCallbackUrl()
+ "&x=' + getEventX(this, event) + '&y=' + getEventY(this, event)");
}

@Override
protected void onEvent(AjaxRequestTarget target) {
final Request request = MyPage.this.getRequest();
final IRequestParameters parameters = request.getRequestParameters();
final int x = Integer.parseInt(parameters.getParameterValue("x").toString("0"));
final int y = Integer.parseInt(parameters.getParameterValue("y").toString("0"));

效果很好。但我不知道如何使用 Wicket 6.x 执行此操作

我明白,Ajax 链接的工作方式已经改变。所以我尝试以与以前相同的方式使用 getCallBackUrl。但这没有用。

        public CharSequence getCallbackUrl() {
final CharSequence callBackUrl = super.getCallbackUrl();

return callBackUrl + "&x=' + getEventX(this, event) + '&y=' + getEventY(this, event)";
}

当我查看生成的 HTML 时,我可以看到 ajax 链接如下所示:

Wicket.Ajax.ajax({"u":"../page?5-2.IBehaviorListener.2-cityMap&x=' + getEventX(this, event) + '&y=' + getEventY(this, event)","e":"click","c":"cityMap","i":"id29--ajax-indicator"});;

看起来不错,但行不通。

我很确定,从 wicket 6 开始我就做错了,但我不知道如何以正确的方式做。

非常感谢任何建议。

干杯莱因哈德

最佳答案

我最近在我的博客中发布了关于 Wicket 6 AJAX 行为的 howto,其中还包括将参数从 javascript 传递到服务器:

http://tom.hombergs.de/2013/01/rolling-your-own-ajax-behavior-with.html

另一个描述 Wicket 6 的新 AJAX 功能的有用资源是:https://cwiki.apache.org/WICKET/wicket-ajax.html .

希望对您有所帮助。如果不是,请描述单击链接时遇到的错误类型(javascript 错误?)。

问候,汤姆

关于java - 如何在 Wicket 6.x 中正确使用 CallBackScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13943367/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com