Spring MVC с внешним рендерингом PDF в качестве представления

Есть ли в Spring встроенный механизм, который позволил бы мне отображать PDF-файл с внешним рендерингом в виде представления?

Я получаю PDF-файл через веб-сервис (вернул прикрепленный DataHandler), поэтому я не ищу подкласс AbstractPdfView для рендеринга PDF.

Самостоятельно решить эту проблему нетрудно; было бы достаточно просто записать PDF в ServletOutputStream. Однако для согласованности я хотел бы остаться с классами контроллеров Spring, которые возвращают ModelAndView, что означает написание моего собственного подкласса AbstractView, чтобы просто записать PDF в ServletOutputStream. В этом нет ничего страшного, но я не хочу воссоздавать что-то, что может уже существовать где-то еще в Spring.

Ответов (1)

Решение

Итак, у вас есть PDF-файл в виде (байтового) потока, и вы хотите записать это в ответ? Это не тот случай, когда у вас есть ModelAndView, и вы хотите, чтобы PDF-файл был сгенерирован с данными модели в нем?

В этом случае я не вижу, какой у вас есть еще вариант, кроме записи в поток ответов. В любом случае, какие действия нужно было бы делать для любого повторно используемого фрагмента кода Spring, кроме этого? Похоже, ваша логика проста: «возьмите этот поток и запишите его в выходной поток».