Dienen PDF in Spring Portlet MVC-Architektur - Liferay 6.0.6

War ich auf der Suche nach einem Weg, das senden einer PDF-Datei (direkte Anzeige) - Datei an den browser durch das Liferay-Portal. Viele Lösungen - die meisten beliebt ist ein Servlet schreiben, dass der job nicht. Ich habe gelesen, über Portlet-Ressource Dienen in der JSR 286-Spezifikation, kann mir bitte jemand erläutern, dass für das Frühjahr 3.0 Portlet MVC?

<servlet>
    <display-name>DownloadServlet</display-name>
    <servlet-name>DownloadServlet</servlet-name>
    <servlet-class>com.liferay.portal.pdf.DownloadServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>DownloadServlet</servlet-name>
    <url-pattern>/DownloadServlet/*</url-pattern>
</servlet-mapping>

Und dem Servlet Besteht aus:

private void downloadServlet(HttpServletRequest req,
            HttpServletResponse resp) throws ServletException, IOException {

        logger.debug(" downloadServlet ::  ");
        BufferedInputStream bis = null;
        BufferedOutputStream bos = null;
        ServletOutputStream op = null;
        try {
            //Something
            pdfContentVO=//getpdf VO here

            String filename = "PDFFILE_"+pdfNumber+".pdf";

            op = resp.getOutputStream();
            resp.setContentType("application/pdf");     
            resp.setHeader("Content-Disposition", "attachment; filename="
                    + filename);
            resp.setContentLength(pdfContentVO.getPdfData().length); 
            System.out.println("pdfcontent"+pdfContentVO.getPdfData());
            op.write(pdfContentVO.getPdfData());
            op.flush();
            op.close();


         } catch(final IOException e) {
            System.out.println ( "IOException." );
            throw e;
        } finally {
            if (bis != null)
            {

                bis.close();
            }
            if (bos != null)
            {
                bos.flush();
                bos.close();
            }
        }

    }
InformationsquelleAutor Ashok Felix | 2011-12-28
Schreibe einen Kommentar