2012-03-12 52 views
0

我有一个使用JSP/JSTL生成报表的Spring MVC web应用程序。客户现在要求我生成PDF版本报告的链接,这些报告的布局略有不同(例如,失去分页,导航等)。如何添加PDF视图到我的Spring MVC(3)web应用程序?

在我的servlet上下文我:

<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver"> 
    <property name="mediaTypes"> 
    <map> 
     <entry key="pdf" value="application/pdf"/> 
     <entry key="html" value="text/html"/> 
     <entry key="json" value="application/json"/> 
    </map> 
    </property> 
    <property name="viewResolvers"> 
    <list> 
     <bean class="org.springframework.web.servlet.view.BeanNameViewResolver"/> 
     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <property name="prefix" value="/WEB-INF/jsp/"/> 
     <property name="suffix" value=".jsp"/> 
     </bean> 
    </list> 
    </property> 
</bean> 

这是从一个教程采取地方。这似乎是我的旧视图解析器,因为我的reportController(注释请求路径映射)处理GET或不带.html的GET并传递给JSP并正确呈现。 ReportController方法返回一个解析为JSP的字符串。

不知怎的,我必须设置PDF视图,我可以自定义布局,也许使用CSS或XSLT。

所以现在GET请求报告/基本/或报告/ basic.html将返回JSP的渲染,我需要能够做的GET请求来像报告/ basic.pdf网址获取一个PDF

回答

2

PDF的创建超出了Spring本身的范围。

请问你应该看看这个堆栈溢出问题:Using itext to convert HTML to PDF。它讨论如何从HTML页面创建PDF,例如使用IText,Pd4mL

另一种方式是讨论here。它基于XSTL。

当然,您可以将您的解决方案集成到您的Spring应用程序中,但Spring将不会为您提供这么多的额外支持。

相关问题