потоковый файл и перезагрузить на тот же объект ответа? - PullRequest
0 голосов
/ 24 марта 2019

У меня есть немного загадки с моим веб-приложением Java. Я пытаюсь создать отчет в формате PDF и отправить его обратно в браузер.

Чтобы построить отчет, мне сначала нужно, чтобы пользователь ввел некоторую информацию (в настоящее время это делается с помощью некоторых файлов JSP и TAG, которые сохраняют данные формы в bean-компоненте). Эта информация проверяется и используется как часть процесса создания отчета. Я не сохраняю эту информацию (сохраняю ее только в компоненте (переходном), который живет в форме). Итак, в классе действия я получаю свой запрос и создаю отчет, а затем передаю этот массив байтов в заголовок ответа.

Пока все хорошо - отчет появляется в моем браузере, но, поскольку я уже использовал этот объект ответа для потоковой передачи своего отчета, я не могу перезагрузить страницу (поэтому мое веб-приложение никогда не возвращает управление обратно браузеру) !

"ОК", я подумал ... итак, я решил открыть новое окно и затем вызвать мой метод класса действий.
НЕПРАВИЛЬНОЕ, что нужно сделать: информация о bean-компоненте в форме стирается к тому времени, когда мой метод класса действия вызывается, и моя проверка завершается неудачно, так как у меня там куча нулевых объектов.

Я не уверен, что мой код имеет значение (поэтому я не опубликовал его) - могу, если это поможет, но я думаю, что мне просто нужно какое-то руководство по тому, что мне нужно сделать, чтобы

А) Потоковая передача моего отчета в формате PDF обратно в браузер Б) Перезагрузить страницу

Есть мысли?

Похоже, я не могу использовать один и тот же объект ответа для перезагрузки страницы и потока для ответа. Какое решение ... ( царапина на голове )

...