三,编写java程序,生成pdf文件
此处有多钟方式:也可以用poi方式,这里着重介绍两种方式:
(一),直接使用struts2-jasperreports-plugin配合struts2查看下载功能
<!-- pdf 显示 -->
<action name="mangerPic" class="com.csair.skypearl.actions.ConvenientVisaAction" method="crateMangerGraphicalData">
<!--<result name="fail" type="json">
<param name="contentType">text/html</param>
<param name="root">optStatus</param>
</result> -->
<result name="fail" type="freemarker">
/WEB-INF/pages/memberShop/visaIndex.ftl
</result>
<result name="success" type="jasper">
<param name="location">/jasreportTemplete/convenientVisa.jasper</param>
<param name="format">${reportType}</param>
<param name="dataSource">ffpTravelDetailList</param>
<param name="reportParameters">reportParameter</param>
</result>
</action>
<!-- pdf 导出 -->
<action name="mangerpdf" class="com.csair.skypearl.actions.ConvenientVisaAction" method="crateMangerGraphicalData">
<result name="fail" type="freemarker">
/WEB-INF/pages/memberShop/visaIndex.ftl
</result>
<result name="success" type="jasper">
<param name="location">/jasreportTemplete/convenientVisa.jasper</param>
<param name="format">${reportType}</param>
<param name="dataSource">ffpTravelDetailList</param>
<param name="documentName">${docName}</param>
<param name="contentDisposition">attachment</param>
<param name="reportParameters">reportParameter</param>
</result>
</action>
代码说明:
<param>用于为报表生成传递参数:
u location: 指定jasper文件的路径,且只能写一个路径;
u format: 指定生成的报表格式,有PDF、HTML、XML等;
u dataSource: 指定主报表中数据源的Collection集合,要求Action中必须包含getXXX方法,如public List<Person> getPersonList()方法,同时注意报表中的列字段名必须和Person类的属性名完全一致;
u reportParameters: 传递给报表本身的参数。这个参数名params必须为一个Map类型,并在Action中创建getParams()方法。它的键名应该与报表中$P{}中的名字完全一致,值类型也应该与$P{}的类型一致,这样能保证传递参数正确。由于是Map类型,所以可传递多个参数为报表中的参数赋值;
u contentDisposition: 报表生成方式,有inline和attachment两个值。inline表示使用浏览器在线预览,attachment表示弹出下载窗口提示下载。
u documentName: 如果是下载方式,则为默认下载的文件名,不用带.pdf后缀。
java代码只需要写数据(配置文件中需要的)的产生过程即可
分享到:
相关推荐
Struts2是一个流行的Java Web应用程序框架,它提供了MVC(模型-视图-控制器)架构,而JasperReport则是一个强大的报表生成库,可以生成多种格式的报表,如PDF、HTML、Excel等。iReport是JasperReport的可视化设计...
总结来说,`struts2 + jasper report`的组合为Java Web应用提供了强大的报表生成能力,通过Struts2的控制层管理和JasperReport的报表引擎,可以方便地将后台数据转化为直观的报表展示给用户。在项目`...
总之,结合Struts2和JasperReport,我们可以轻松地在web应用程序中实现动态报表生成和导出,提供给用户方便的数据查看和下载功能。通过熟练掌握这一技术,可以提升企业级应用的用户体验,同时简化开发流程。
在Struts2中整合jasperReports,可以实现Web应用中的动态报表生成和展示功能。首先,我们需要确保系统环境中已经安装了jasperReports库以及其依赖的iReport设计工具。iReport是用于设计jasperReports报表的图形化...
Struts2、 Jasper 和 iReport 是Java开发领域中用于创建动态和复杂的报表的重要工具。Struts2是一个基于MVC(模型-视图-控制器)架构的Web应用框架,它为开发者提供了一种组织和控制应用程序逻辑的方式。...
6. **Struts2配置**:在Struts2的配置文件(struts.xml)中,定义一个导出Excel的Action,返回类型设置为流类型(通常为“stream”),并将生成的Excel内容设置到HttpServletResponse的输出流中。 7. **Action实现*...
将这两者整合,可以让Struts2应用程序轻松地实现动态报告的生成与展示。 在整合Struts2和JasperReport时,我们需要一些特定的jar包来确保两者能正确通信和协同工作。这些jar包通常包含了Struts2的核心组件、...
Struts2.1和JasperReport的整合是Java Web开发中的一个重要话题,它涉及到Web应用程序的MVC(模型-视图-控制器)架构和数据报告的生成。Struts2.1是一个强大的MVC框架,而JasperReport则是一个用于创建复杂报表的...
同时,还需要确保所有的jar包都已正确导入到项目的类路径中,包括Struts2的核心库、JasperReports的库以及可能需要的第三方依赖如iText(用于PDF生成)等。 在实际使用过程中,开发者通常会遇到以下几个关键步骤: ...
<param name="format">PDF</param> </result> </action> <!-- 可以添加更多格式的导出 --> </package> ``` #### 参数解释 - `location`:指向JasperReport生成的.jasper文件的路径。 - `dataSource`:指向数据...
Struts2 + JasperReports4 + DB2 Demo是一个典型的Java企业级应用示例,结合了流行的MVC框架Struts2、报表工具JasperReports4以及关系型数据库DB2,用于展示如何在实际项目中进行数据展示和处理。在这个项目中,...
将JasperReports与Struts2整合,可以帮助我们在Web应用中轻松创建复杂的报表。 首先,JasperReports是用Java编写的开源报表库,能够设计和生成多种格式的报表,如PDF、HTML、Excel、CSV等。它的强大之处在于能够...
Struts2、JasperReport 和 iReport 是三个在Java Web开发中常见的开源工具,它们各自在不同的领域发挥着重要作用。Struts2是一个基于MVC设计模式的Web应用框架,用于简化Java Web应用程序的开发;JasperReport是一款...
4. **返回结果**:Struts2会根据配置将报表结果以流的形式返回给浏览器,用户可以选择下载或者在页面上查看。 在提供的"JasperReportsDemo"文件中,可能包含了如何配置和使用JasperReports与Struts2的示例代码。...
2. **生成报表**:按照客户端打印的步骤,编译模板,填充数据并生成PDF。 3. **返回响应**:有两种常见方式: - 直接输出到浏览器:设置HTTP响应头为“Content-Type: application/pdf”,并将PDF内容作为响应体返回...
6. **Struts2集成**:在Struts2的Action类中,编写方法来处理报表请求,调用上述步骤生成并导出报表。Action的结果可以配置为一个流结果类型,直接将报表内容发送到浏览器。 7. **前端展示**:在HTML页面中,使用...