Bonjour,
Voici mon problème : je souhaite uploader un fichier (par exemple une image) et détecter la fin de cet upload afin de rafraichir automatiquement ma page et de voir s'afficher l'image "uploadée".
Pour cela, j'utilise un formulaire (FormPanel) qui appelle une servlet. Cette servlet renvoit une réponse de la manière suivante :
Ainsi, sur mon formulaire j'ajoute un gestionnaire d'évènement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public void service(HttpServletRequest request, HttpServletResponse response) { ........... response.setContentType("text/html"); PrintWriter out = new PrintWriter(response.getOutputStream()); out.println("<html>\n<body>\n<h1>Hello world</h1>"); out.println("</body>\n</html>"); out.close(); }
Donc je devrai passer dans la méthode onSubmitComplete lorsque la servlet a terminé son boulot et donc afficher un petit hello world. Or ce n'est pas le cas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 FormPanel form = new FormPanel(); form.setAction("UploadServlet"); form.setEncoding(FormPanel.ENCODING_MULTIPART); form.setMethod(FormPanel.METHOD_POST); Button validateButton = new Button("Valider"); validateButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { form.submit(); } });. ..... form.addSubmitHandler(new SubmitHandler() { @Override public void onSubmit(SubmitEvent event) { if (photoChooser.getFilename().length() == 0) { Window.alert("Vous n'avez pas selectionner de fichier"); } } }); form.addSubmitCompleteHandler(new SubmitCompleteHandler() { public void onSubmitComplete(SubmitCompleteEvent event) { Window.alert(event.getResults()); } });
Avec le browser de GWT, je passe bien dans onSubmit mais pas dans onSubmitComplete.
Lorsque je compile mon code et que j'utilise Firefox, je ne passe ni dans onSubmit ni dans onSubmitComplete
J'ai fait pas mal de recherches sur ce sujet mais pour l'instant je n'ai pas trouver de réponses.
Pouvez-vous m'aider? Merci
Partager