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();
}
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich konnte nichts finden auf Servlet<->Portlet-mapping-Sache. Also ich benutzte Ressource-Zuordnung für den Versand eine pdf-Datei mit Spring Portlet MVC unter Verwendung von Annotationen.
Ref:http://developers.sun.com/portalserver/reference/techart/jsr286/jsr286_2.html
In JSP:
Im Frühjahr ApplicationContext.xml der portlet, gehören diese:
Definieren Sie einen neuen controller:
Edit: Wenn Sie mit früheren Versionen von Liferay, dies ist ein großer Artikel zu implementieren, Datei-download/portion durch das Liferay - https://www.liferay.com/web/raymond.auge/blog/-/blogs/801426