Bonjour,
Pour vous expliquer rapidement, il y a un système avec deux pages et leurs servlets associées. Une page d'attente qui génère un resultat (sous forme de String). Puis une page pour lancer le téléchargement de la String qu'on lui a passé en paramètre.
Le déroulement du programme est le suivant :
- La servlet d'attente affiche une interface d'attente puis se recharge elle même.
- Une fois que le résultat est généré, elle appelle la servlet de téléchargement en passant en paramètre la chaîne de caractères à télécharger sous forme de fichier.
- La servlet nommé fileDownload, lance le téléchargement comme ceci :
Jusque là, tout fonctionne bien. Le problème est que je souhaiterais afficher une autre page après le début du téléchargement de façon à ne pas laisser l'utilisateur sur la page d'attente. Je ne peux pas l'afficher directement car cela lance une illegalStateException.
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 presponse.setContentType("text/comma-separated-values"); presponse.setHeader("Content-Disposition", "attachment; filename=\"" + dataForJsp.getFilename() + "\""); presponse.setIntHeader("Content-length", dataForJsp .getDataLength()); ServletOutputStream outs = presponse.getOutputStream(); try { outs.print(MONRESULTAT); } catch (IOException e) { logger_.debug("Cannot render the data to the user"); }
Pour le moment, l'utilisateur reste sur la page d'attente alors que le téléchargement a déjà été effectué. Je souhaiterais donc que le navigateur prenne le fichier et aille sur une autre page.
Cependant, cela constitue deux requêtes différentes. Les redirections ne fonctionnent pas en même temps qu'un téléchargement de fichier.
Merci dans tous les cas d'avoir lu jusqu'au bout !
Partager