Wicket:PleaseWaitBehavior-正在显示,"Loading X of Y"
Wicket:PleaseWaitBehavior-Showing, "Loading X of Y"
我试图显示一条加载消息,告诉用户在点击提交后他们在加载过程中进行了多长时间。问题是,加载栏出现了,但它显示 "Loading 0 of 0",直到进程完成。
private AjaxButton createSubmit() {
Submit = new AjaxButton("Submit",new Model<String>()) {
private static final long serialVersionUID = 202575339939441557L;
@Override
public void onSubmit(final AjaxRequestTarget target,
final Form<?> form) {
handleSubmit(target);
}
};
Submit.setOutputMarkupId(true);
Submit.add(new PleaseWaitBehavior(new Model<String>(
"Processing Message " + loadingNumber + " of " + size)));
return Submit;
}
这是处理提交行为的 class。我在 handleSubmit(target) 方法中将两个数字从 0 更改,并在 class 的 for 循环内迭代 LoadingNumber。更改从未反映在消息中,我尝试在 PleaseWaitBehavior 中删除并重新添加。我完全被难住了。 Wicket 是否不允许我尝试做的事情?
Submit.add(new PleaseWaitBehavior(new Model<String>(
"Processing Message " + loadingNumber + " of " + size)));
我希望你意识到这里你连接了一个稍后在 UI 中使用的字符串。没有代码会再次重新计算并为 UI.
构造一个新的字符串
请在 https://cwiki.apache.org/confluence/display/WICKET/Working+with+Wicket+models 阅读 Wicket 中的静态模型与动态模型。
对于您的任务,您需要使用 Ajax 次调用来询问服务器进度并重新绘制消息。
这是一篇解释问题并提供示例解决方案的文章 - http://wicketinaction.com/2014/07/working-with-background-jobs/
我试图显示一条加载消息,告诉用户在点击提交后他们在加载过程中进行了多长时间。问题是,加载栏出现了,但它显示 "Loading 0 of 0",直到进程完成。
private AjaxButton createSubmit() {
Submit = new AjaxButton("Submit",new Model<String>()) {
private static final long serialVersionUID = 202575339939441557L;
@Override
public void onSubmit(final AjaxRequestTarget target,
final Form<?> form) {
handleSubmit(target);
}
};
Submit.setOutputMarkupId(true);
Submit.add(new PleaseWaitBehavior(new Model<String>(
"Processing Message " + loadingNumber + " of " + size)));
return Submit;
}
这是处理提交行为的 class。我在 handleSubmit(target) 方法中将两个数字从 0 更改,并在 class 的 for 循环内迭代 LoadingNumber。更改从未反映在消息中,我尝试在 PleaseWaitBehavior 中删除并重新添加。我完全被难住了。 Wicket 是否不允许我尝试做的事情?
Submit.add(new PleaseWaitBehavior(new Model<String>(
"Processing Message " + loadingNumber + " of " + size)));
我希望你意识到这里你连接了一个稍后在 UI 中使用的字符串。没有代码会再次重新计算并为 UI.
构造一个新的字符串请在 https://cwiki.apache.org/confluence/display/WICKET/Working+with+Wicket+models 阅读 Wicket 中的静态模型与动态模型。
对于您的任务,您需要使用 Ajax 次调用来询问服务器进度并重新绘制消息。
这是一篇解释问题并提供示例解决方案的文章 - http://wicketinaction.com/2014/07/working-with-background-jobs/