Я пытаюсь обновить и отобразить компоненты при отправке формы, используя onSubmit of IndicatingAjaxButton. Но все компоненты получаются после того, как onSubmit завершен. Есть ли способ, которым я могу отобразить их, пока моя форма все еще отправляется, скажем, чтобы показать обновленную панель прогресса при отправке формы. Я хочу показать прогресс по мере выполнения каждого вызова отдыха. Это примерно то, что я делаю:визуализировать компоненты калитки при отправке формы
public class MyPage {
Form form;
int items;
WebMarkupContainer progressbar = new WebMarkupContainer("progressbar");
int progress = 0;
MyData dataItems = new MyData();
public MyPage() {
progressbar.setOutpuMarkupId(true);
items = 5;
setupForm();
}
public void setupForm() {
form = new Form("form", new CompundPropertyModel(dataItems));
form.add(new IndicatingAjaxButton("button") {
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
for (int i = 0; i < items; i++) {
progress++;
progressbar.add(new AttributeModifier("style", "width: " + progress + "%;"));
//rest post call goes here
}
}
});
}
add(form);
add(progressbar);
}
//in html page
<div wicket:id="progressbar" id="progressbar" style="width: 0% ; background-color:green;"></div>
Если я понимаю, вы думаете о быстрой отправке (принято интерфейсом на стороне сервера) в сотнях миллисекунд и длинном алгоритме на сервере? Дайте код, который поможет вам –
Вторая попытка угадать, это загрузка больших файлов. У Wicket есть некоторые ajaxified решения (руководство на официальном сайте) –