gpt4 book ai didi

java - Wicket - 页面呈现后将数据加载到表中

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

在我的 wicket 应用程序中,我有一个数据表。数据提供程序附加到它并从 REST 服务加载内容。此调用需要大量时间(约 20 秒)。

那么,有没有办法加载带有空表的页面,然后在使用来自服务的数据渲染后重新填充它?

我考虑过在页面呈现后重新附加或重新加载数据提供程序:

onAfterRender()

但我仍然不知道如何使用数据提供程序来做到这一点。

最佳答案

您可以查看 AjaxLazyLoadPanel,它在加载组件时显示一个小加载图标作为占位符。

add(new AjaxLazyLoadPanel("table") {

@Override
public Component getLazyLoadComponent(String markupId) {
return new MyLongLoadingTable(markupId);
}
});

另一种解决方案:显示空表并定期检查数据库操作以完成并在所有数据收集完成后更新表。 AbstractAjaxTimerBehavior 是一个很好的实用程序。像这样:

add(new AbstractAjaxTimerBehavior(Duration.ONE_SECOND) {

@Override
protected void onTimer(AjaxRequestTarget target) {

if (isDataLoaded()) {
stop(target);
target.add(table);
}

}

});

关于java - Wicket - 页面呈现后将数据加载到表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43797426/

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