Bonjour,

Voici le problème :

De ma page jsp, je veux qu'en cliquant sur le bouton, j'enregistre un fichier et qu'à la fin la page se recharge.

Voici l'action effectuée (en rouge à la fin mon problème) :
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
public ActionForward monAction(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
//Vérification des donnes de l'utilisateur
ActionMessages errors = new ActionMessages();
...

//Cas A]Erreurs
this.saveErrors(request, errors);
return refreshInfos (mapping, form, request, response);

//Cas B]OK : on crée un fichier Excel et on ouvre la boîte de dialogue "Enregistrer Sous"
//B1)Fichier Excel construit et enregistré sur le serveur
String file = monService.createExcelFile(lstArg);
//B2)Boîte de dialogue et enregistrement
try {
			OutputStream out = response.getOutputStream();

			File fTemp = new File(file);
			response.setHeader("Content-length", "" + fTemp.length());
			response.setHeader("Content-disposition", "attachment; filename=\"" + "monFichierExcel" + "\"");
			response.setContentType("application/x-download");
			response.setHeader("Pragma", "public");
			response.setHeader("Cache-control", "must-revalidate");

			int count;
			int countTotal = 0;
			byte buf[] = new byte[4096];
			BufferedInputStream is = new BufferedInputStream(new FileInputStream(fTemp));
			while ((count = is.read(buf)) > -1) {
				countTotal += count;
				out.write(buf, 0, count);
			}
			if (countTotal > 0) {
				out.flush();
				out.close();
			}
			is.close();
			fTemp.delete();
		} catch (Exception e) {
		}
	
//return refreshInfos (mapping, form, request, response); //Aucun effet!
return null; //impossible de rafraichir la page après.

}
Mon problème, c'est qu'on ne peut enchaîner l'ouverture de la boîte de dialogue avec une fonction de rafraîchissement (seul return null est permis...)

Comment faire?