以下示例说明如何使用Spring Web MVC Framework生成PDF.首先,让我们使用一个可用的Eclipse IDE,并遵循以下步骤,使用Spring Web Framework开发基于动态表单的Web应用程序.
Step | 描述 |
---|---|
1 | 在com.it1352包下创建一个名为TestWeb的项目,如下所述Spring MVC - Hello World章. |
2 | 在com.it1352包下创建Java类UserPDFView和PDFController. |
3 | 下载iText库 : 从maven存储库页面 iText .把它放在你的CLASSPATH中. |
4 | 最后一步是创建源文件和配置文件的内容并导出应用程序,如下所述. |
package com.it1352; import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.AbstractController; public class PDFController extends AbstractController { @Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { //user data Map<String,String> userData = new HashMap<String,String>(); userData.put("1", "Mahesh"); userData.put("2", "Suresh"); userData.put("3", "Ramesh"); userData.put("4", "Naresh"); return new ModelAndView("UserSummary","userData",userData); } }
package com.it1352; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.view.document.AbstractPdfView; import com.lowagie.text.Document; import com.lowagie.text.Table; import com.lowagie.text.pdf.PdfWriter; public class UserPDFView extends AbstractPdfView { protected void buildPdfDocument(Map<String, Object> model, Document document, PdfWriter pdfWriter, HttpServletRequest request, HttpServletResponse response) throws Exception { Map<String,String> userData = (Map<String,String>) model.get("userData"); Table table = new Table(2); table.addCell("Roll No"); table.addCell("Name"); for (Map.Entry<String, String> entry : userData.entrySet()) { table.addCell(entry.getKey()); table.addCell(entry.getValue()); } document.add(table); } }
<beans xmlns = "http://www.springframework.org/schema/beans" xmlns:context = "http://www.springframework.org/schema/context" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc = "http://www.springframework.org/schema/mvc" xsi:schemaLocation = " http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> <bean class = "org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" /> <bean class = "com.IT屋.PDFController" /> <bean class = "org.springframework.web.servlet.view.XmlViewResolver"> <property name = "location"> <value>/WEB-INF/views.xml</value> </property> </bean> </beans>
<beans xmlns = "http://www.springframework.org/schema/beans" xmlns:context = "http://www.springframework.org/schema/context" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = " http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <bean id = "UserSummary" class = "com.IT屋.UserPDFView"></bean> </beans>
在这里,我们创建了一个PDFController和UserPDFView. iText库处理PDF文件格式,并将数据转换为PDF文档.
完成创建源文件和配置文件后,导出应用程序.右键单击您的应用程序,使用 Export → WAR文件选项并将 TestWeb.war 文件保存在Tomcat的webapps文件夹中.
现在,启动Tomcat服务器并确保您能够使用标准浏览器从webapps文件夹访问其他网页.我们也可以尝试以下URL : http://localhost:8080/TestWeb/pdf 如果一切按计划进行,我们将看到以下屏幕.