|
Показать в браузере пользователю отчет, сформированный на сервере JasperReports
|
|||
---|---|---|---|
#18+
Создал эту ветку по совету в https://www.sql.ru/forum/1321444/mozhno-li-sozdat-modelandview-znaya-tolko-imya-html-fayla Вопрос: Есть web приложение. Пользователь в окне браузера заполняет параметры отчета и нажимает кнопку "Получить отчет" Контроллер получает запрос пользователя, обращается к методу сервиса. Сервис, используя JasperReports формирует отчет. Нужно, чтобы пользователь в браузере этот отчет увидел. Сейчас отчет экспортируется в HTML файл, сохраняется на диск на сервере, а в контроллер возвращается url файла. Редирект в контроллере проходит, возвращает статус Completed 302 FOUND, но отчет в браузере не открывается. Как можно сделать отображение отчета в браузере пользователя? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 10:15 |
|
Показать в браузере пользователю отчет, сформированный на сервере JasperReports
|
|||
---|---|---|---|
#18+
Павел Гужанов, Типа такого Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 10:25 |
|
Показать в браузере пользователю отчет, сформированный на сервере JasperReports
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, Насколько я понял, в моем случае вместо pdf нужно использовать html. Вот только не пойму, в каком месте это использовать, в сервисе или в контроллере? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 10:46 |
|
Показать в браузере пользователю отчет, сформированный на сервере JasperReports
|
|||
---|---|---|---|
#18+
Павел Гужанов, Если много БЛ то в сервис. Если мало, то и сам сервис не нужен. Можно и контроллере хибером рулить. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 10:55 |
|
Показать в браузере пользователю отчет, сформированный на сервере JasperReports
|
|||
---|---|---|---|
#18+
Сделал вот так. Это в контроллере: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Это в сервисе: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
На диске файл создается. В контроллере String content - содержимое html файла. Получаю в ответ статус 200, но в браузере не показывается ничего ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 11:52 |
|
Показать в браузере пользователю отчет, сформированный на сервере JasperReports
|
|||
---|---|---|---|
#18+
Павел Гужанов, Убери jasper На клиенте F12 - отладка. Скрины сюда. В контроллере отправь слово Привет чтобы показалось в браузере. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 12:02 |
|
Показать в браузере пользователю отчет, сформированный на сервере JasperReports
|
|||
---|---|---|---|
#18+
офтопик, если файлы потом юзером не используются, то есть не остается ссылок пользователю на них, чтобы он скачал старый отчет, то лучше не хранить вообще отчеты, а отдавать клиенту и всё. А то будет свалка на сервере через полгода. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 12:14 |
|
Показать в браузере пользователю отчет, сформированный на сервере JasperReports
|
|||
---|---|---|---|
#18+
Nixic, Тоже хотел вставить. Да Петро уже показал пример без файлов. Прямо в первом ответе. Писать надо сразу из джаспера в OutputStream. Ну пусть ТС с файлом отладится, заменить потом файл на стрим дело 5 копеек ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 12:20 |
|
Показать в браузере пользователю отчет, сформированный на сервере JasperReports
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, Извиняюсь, это я лопухнулся. Запрос на сервер отправляется через javaScript. И ответ тоже приходит туда. А я ждал его сразу в браузере. Добавил в javaScript вывод на страницу ответа - все заработало. Спасибо за помощь и за пинок в нужном направлении. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 12:34 |
|
Показать в браузере пользователю отчет, сформированный на сервере JasperReports
|
|||
---|---|---|---|
#18+
Павел Гужанов Код: java 1.
На диске файл создается. В контроллере String content - содержимое html файла. Получаю в ответ статус 200, но в браузере не показывается ничего Поэтому есть некоторая область (каталог на диске), которая отображается в некоторый контекст веб-сервера. Например: Код: plaintext
Далее. Клиент обратился к одному ресурсу и на сервере начался процесс формирования отчёта. По завершению сервер должен сообщить клиенту где можно забрать отчёт. Для этого используется код перенаправления. Т.е. ваш сервис выставляет статус и (относительный) URL. Пример: Отчёт сформирован в c:/static/jasper/xxl.html, клиенту отправляется статус 301 и URL /reports/xxl.html. Дальше работает браузер клиента. P.S. Гораздо проще делать так, как предложил PetroNotC Sharp. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2020, 12:40 |
|
|
start [/forum/topic.php?fid=59&msg=39917162&tid=2120939]: |
0ms |
get settings: |
25ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
96ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
220ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 394ms |
0 / 0 |