gpt4 book ai didi

javascript - Wicket 6.2 AbstractDefaultAjaxBehavior getCallbackUrl 不再解析 JS 变量

转载 作者:行者123 更新时间:2023-12-04 02:18:03 26 4
gpt4 key购买 nike

最近我一直致力于将一个使用 wicket 1.4.18 的大型 Web 应用程序升级到 6.2。我们有一种情况,我们会创建 javascript 变量来跟踪拖放列表中的位置。这只是代码的 wicket 端,因为 js 一直有效且未更改。

ListItem.add(new AbstractDefaultAjaxBehavior()
{
private static final long serialVersionUID = 1L;

@Override
public void onComponentTag(ComponentTag tag)
{
tag.put("ondrop", "var value = $(ui.item[0]).attr('hiddenvalue');"
+ this.getCallbackScript());
}


@Override
public final CharSequence getCallbackUrl()
{
return super.getCallbackUrl() + "&hiddenvalue' + value + '";
}
}

但是,我遇到的问题是 javascript 变量未解析为值,现在在 getCallbackUrl 中被视为文字字符串(例如:“值”而不是 5)。在 wicket 1.4.18 中不是这种情况,我不认为这个问题起源于我们迁移到 1.5.8。

最后我们只是希望能够使用

@Override
protected void respond(AjaxRequestTarget target)
{
getRequest().getRequestParameters().getParameterValue("hiddenvalue");
}

对此有何建议?我希望我已经提供了足够的信息。在此先感谢您的帮助。其中一些内容有点超出我的知识范围,并且可能会吓到不知道去哪里看。

最佳答案

Wicket Ajax 已为 Wicket 6 完全重写。参见 this page获取详细说明。

在您的情况下,您应该使用新的 AjaxRequestAttributes像那样:

@Override
protected void updateAjaxAttributes(final AjaxRequestAttributes attributes) {
super.updateAjaxAttributes(attributes);
attributes.getExtraParameters().put("hiddenvalue", "value");
}

从请求中检索值仍然与以前一样。

@Override
protected void respond(AjaxRequestTarget target)
{
getRequest().getRequestParameters().getParameterValue("hiddenvalue");
}

关于javascript - Wicket 6.2 AbstractDefaultAjaxBehavior getCallbackUrl 不再解析 JS 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13187319/

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