Ich versuche, Komponenten zu aktualisieren und zu rendern, während das Formular mit onSubmit von IndicatingAjaxButton. Aber alle Komponenten werden gerendert, sobald onSubmit abgeschlossen ist. Gibt es eine Möglichkeit, ich kann sie rendern, während mein Formular noch einreicht, sagen Sie, um eine Aktualisierung Fortschrittsbalken zu zeigen, während das Formular einreicht. Ich möchte den Fortschritt anzeigen, während jeder Restanruf ausgeführt wird. Das ist ungefähr das, was ich tue:render Wicket-Komponenten beim Senden von Formular
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>
Wenn ich verstehe, Sie denken über schnelle Submit (von Frontend auf der Serverseite akzeptiert) in hunderten von Millesec Max und lange Algorithm im Server-Backend? Geben Sie Code, um Ihnen zu helfen –
der 2. Versuch zu erraten, ist der Upload von großen Dateien. Wicket hat einige ajaxified Lösungen (Führer auf der offiziellen Seite) –