gpt4 book ai didi

ajax - Wicket 口 6.3.0 AjaxLink : IAjaxCallListener behaviour

转载 作者:行者123 更新时间:2023-12-01 16:43:26 26 4
gpt4 key购买 nike

在 Wicket 6 之前,IAjaxCallDecorator.decorateScipt 返回的 javascript 代码在点击后立即执行。我根据 migration-guide 迁移了 IAjaxCallDecorator .在 5 秒内点击链接 3 次,预期结果为:

  • 获取前提条件
  • 获取前提条件
  • 获取前提条件
  • 获取成功处理程序
  • 获取成功处理程序
  • 获取成功处理程序

但结果是:

  • 获取前提条件
  • 获取成功处理程序
  • 获取前提条件
  • 获取成功处理程序
  • 获取前提条件
  • 获取成功处理程序

用例:在 Ajax 请求完成之前阻塞,请参阅 http://my.safaribooksonline.com/book/-/9781849511605/deeper-into-ajax/ch07lvl1sec04 (第 162 页)

还有其他方法可以将 IAjaxCallDecorator 迁移到 Wicket 6 吗?

public class HomePage extends WebPage {

public HomePage(final PageParameters parameters) {
add(new Label("version", getApplication().getFrameworkSettings().getVersion()));

AjaxLink<Void> blockingLink = new AjaxLink<Void>("blockingLink") {
@Override
public void onClick(AjaxRequestTarget target) {
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
@Override
protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
super.updateAjaxAttributes(attributes);

IAjaxCallListener blockingListener = new AjaxCallListener() {
@Override
public CharSequence getPrecondition(Component component) {
return "console.log('getPrecondition');";
}
@Override
public CharSequence getSuccessHandler(Component component) {
return "console.log('getSuccessHandler');";
}
};
attributes.getAjaxCallListeners().add(blockingListener);
}
};
add(blockingLink);
}
}

最佳答案

用例:在 Ajax 请求完成之前阻塞,请参阅 http://my.safaribooksonline.com/book/-/9781849511605/deeper-into-ajax/ch07lvl1sec04(第 162 页)

@Override
protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
super.updateAjaxAttributes(attributes);
attributes.setChannel(new AjaxChannel("myChannel", AjaxChannel.Type.ACTIVE));
}

完成了任务。见wicket forum

关于ajax - Wicket 口 6.3.0 AjaxLink : IAjaxCallListener behaviour,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13863927/

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