struts2, проект JSP; показать pdf

Я пытаюсь показать pdf-файл на странице jsp, не сохраняя его на жестком диске. Мне удалось создать PDF-файл, и я проверил его, сохранив на жестком диске. Я использую DynamicJasper в качестве механизма создания отчетов.

Вот мой файл strut.xml для динамической яшмы:

<action name="myJasperTest" class="com.via.qcm.view.JasperAction">
  <result name="success" type="dynamic-jasper">
    <param name="dynamicReport">DynamicReport</param>
    <param name="layoutManager">classic</param>
    <param name="parameters">dynamicReportDs</param>
    <param name="documentName">report</param>
    <param name="contentDisposition">application/download</param>
    <param name="format">PDF</param>
  </result>

Я создаю PDF и сохраняю его в ByteArrayOutputStream().

baos = new ByteArrayOutputStream();
//export to pdf
Exporter.exportToPdf(jp, baos);

Теперь мой вопрос: как показать этот «баос» на веб-странице в формате pdf?


person Lipu    schedule 22.04.2013    source источник
comment
Вау, принято через 8 месяцев, приятно :] ... увидимся через 8 месяцев и за голосование :D   -  person Andrea Ligios    schedule 19.12.2013
comment
ни один человек, которого я на самом деле не знал об этой особенности принятия ответа в то время. Это был мой первый вопрос на этом веб-сайте, поэтому, пожалуйста.. и мне жаль, что у меня недостаточно репутации, чтобы проголосовать :-(   -  person Lipu    schedule 19.12.2013
comment
Не волнуйтесь, шучу ;) P.S: у вас действительно есть репутация, чтобы голосовать... это 15   -  person Andrea Ligios    schedule 19.12.2013
comment
да, спасибо, на этот раз работает.   -  person Lipu    schedule 19.12.2013


Ответы (1)


Есть две проблемы:

  • вам нужно вернуть объект DynamicReport, а не Byte Array;
  • переменная dynamicReport должна начинаться с буквы lowercase:

In Struts.xml

    <param name="dynamicReport">dynamicReport</param>

В Action

public DynamicReport getDynamicReport(){
    DynamicReport dynamicReport = null;
    // do all your stuff
    return dynamicReport;
}
person Andrea Ligios    schedule 22.04.2013