2010-02-23 4 views
1

J'utilise actuellement Spring MVC. Ce que je cherche à faire est d'avoir une page Web où une fois que l'utilisateur soumet un formulaire, le contrôleur écrit un fichier dans le flux de sortie puis le vide, de sorte que l'utilisateur peut enregistrer le fichier. Mais je voudrais alors que le contrôleur retourne un modelview, amenant l'utilisateur à une autre page.En utilisant Spring, comment puis-je vider le flux de sortie et retourner le modelview?

Au moment où le flux de sortie a été vidé, lorsque le get de modelview est retourné, je me retrouve avec une erreur "getOutputStream() a déjà été appelée pour cette réponse". (Normalement, je retournerais null après avoir vidé le flux de sortie pour éviter cette erreur).

Donc ce que je demande est, est-il un moyen que je peux vider le flux de sortie afin que l'utilisateur puisse télécharger le fichier et retourner ensuite un modelview afin que l'utilisateur est amené à une autre page?

Vive.

Répondre

1

Je ne pense pas que ce que vous cherchez est exactement possible, quel que soit le framework web que vous utilisez. La meilleure alternative que je puisse penser est de le faire comme Sourceforge.net traite les téléchargements, par exemple. une page avec 'votre téléchargement va commencer sous peu', here's an example. (cliquez sur le lien de téléchargement sur la page)

1

Vous ne pouvez certainement pas rediriger vers une deuxième page si vous avez déjà commencé à écrire dans le flux de sortie; cela fait partie de la spécification de servlet plutôt que d'un cadre MVC

Questions connexes