Используя Spring, как я могу очистить поток вывода и также вернуть представление модели? - PullRequest
1 голос
/ 23 февраля 2010

Я сейчас использую Spring MVC.

Что я хочу сделать, так это создать веб-страницу, на которой, когда пользователь отправляет форму, контроллер записывает файл в поток вывода, а затем сбрасывает его, чтобы пользователь мог сохранить файл. Но тогда я бы хотел, чтобы контроллер вернул представление модели, перенеся пользователя на другую страницу.

В тот момент, когда выходной поток сбрасывается, когда возвращается представление модели, я получаю сообщение об ошибке «getOutputStream () уже был вызван для этого ответа». (Обычно я возвращал бы нуль после очистки выходного потока, чтобы избежать этой ошибки).

Итак, я спрашиваю: есть ли способ очистить поток вывода, чтобы пользователь мог загрузить файл, а затем вернуть представление модели, чтобы пользователь перешел на другую страницу?

Приветствие.

Ответы [ 2 ]

1 голос
/ 17 января 2011

Вы определенно не сможете перенаправить на 2-ю страницу, если вы уже начали запись в выходной поток; это часть спецификации сервлета, а не какой-либо одной инфраструктуры MVC

1 голос
/ 24 февраля 2010

Я не думаю, что вы ищете точно , независимо от того, какую веб-среду вы используете. Лучшая альтернатива, которую я могу придумать, это сделать так, как Sourceforge.net обрабатывает загрузки, например, страница с «вашей загрузкой начнется в ближайшее время», вот пример . (нажмите на ссылку для скачивания на странице)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...