0 0

在struts2中,jasperReport如何获取jdbc数据源3

我用iReport编辑了一张基于JDBC数据源的报表,我想让这张报表在IE里面显示,那么,我应该怎样在struts2里面配置,才能获取到数据源呢?因为不会,只能写在jsp里面,jsp如下:
<%@ page language="java" pageEncoding="gb2312"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.util.Map"%>
<%@page import="java.io.File"%>
<%@page import="java.util.HashMap"%>
<%@page import="net.sf.jasperreports.engine.JasperCompileManager"%>
<%@page import="net.sf.jasperreports.engine.JasperRunManager"%>
<%@page import="net.sf.jasperreports.engine.JasperPrint"%>
<%@page import="net.sf.jasperreports.engine.JasperFillManager"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.Enumeration"%>
<%@page import="net.sf.jasperreports.engine.export.JRXlsExporter"%>
<%@page import="net.sf.jasperreports.engine.JRExporterParameter"%>
<%@page import="net.sf.jasperreports.engine.export.JRXlsExporterParameter"%>
<%@page import="java.io.ByteArrayOutputStream"%>
<%@page import="net.sf.jasperreports.engine.export.JRHtmlExporterParameter"%>
<%@page import="net.sf.jasperreports.engine.export.JRHtmlExporter"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="javax.servlet.ServletOutputStream"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<%
Connection connection = null;
String driver = "net.sourceforge.jtds.jdbc.Driver";
String url = "jdbc:jtds:sqlserver://192.168.2.10:1433;DatabaseName=northWind";
String user = "sa";
String pwd = "123456";
try {
Class.forName(driver);
connection = DriverManager.getConnection(url, user, pwd);
String path = application.getRealPath("/jasper");
path += "/";
JasperCompileManager.compileReportToFile(path+"employeesInfo.jrxml",path+"employeesInfo.jasper");
JasperCompileManager.compileReportToFile(path+"pie.jrxml",path+"pie.jasper");
Map map = new HashMap();
map.put("SUBREPORT_DIR", path);
byte[] bytes = JasperRunManager.runReportToPdf(path+"employeesInfo.jasper", map, connection);
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
connection.close();
out.clear();
out = pageContext.pushBody();
} catch (Exception e) {
e.printStackTrace();
}
%>
</body>
</html>
但是,这样维护起来比较困难,哪位大侠知道的,请别吝惜赐教,谢谢!
运行效果如附件。没积分了,请别见怪,先道声谢谢!
2010年1月26日 18:45
  • 大小: 188.4 KB

1个答案 按时间排序 按投票排序

0 0

jasper不懂,一直想研究下,你的问题主要还是你要研究下struts 2。

步骤:

1 配置一个TestAction
比如,用户访问.../reportTest/test.action就可以找到这个Action

2 在TestAction处理Jasper的相关逻辑(也就是上面jsp里面的代码)

3 JDBC数据通过spring注入
struts 2和spring如何整合参考http://robblog.iteye.com/admin/blogs/591834

4 根据处理结果返回报表视图

可以参考这个
http://mht.iteye.com/blog/165176

其实你程序主体已经完成了,还是要自己花些时间研究struts 2框架。

2010年2月09日 09:07

相关推荐

    整合Struts2.1+jasperreport

    1. 添加依赖:在项目的pom.xml或者build.gradle文件中,引入Struts2和JasperReport相关的库,确保所有必要的jar包都已包含在项目中。 2. 创建报表:使用iReport或其他设计工具,创建JRXML文件,定义报表的布局和...

    Struts2 + JasperReport应用一:导PDF,Excel,HTML显示

    Struts2 和 JasperReport 是两种在企业级Java应用中广泛使用的开源框架,它们结合使用可以实现强大的报告生成和展示功能。Struts2 是一个MVC(Model-View-Controller)框架,用于构建可维护性和可扩展性高的Web应用...

    Struts2AndJasperReport实例

    JasperReport 支持多种数据源,如 JDBC、JavaBean、CSV 文件等,可以动态地从数据库或其他数据源获取数据。同时,它还提供了强大的表达式语言(JasperReport Expression Language, JRExpr),允许在报表中进行复杂的...

    java报表(jasperreport_ireport+struts2)

    在本主题中,我们将深入探讨如何使用JasperReport、iReport以及Struts2框架来构建一个强大的报表解决方案。 JasperReport是一个开源的Java报表库,它提供了丰富的报告设计功能,支持多种数据源,如数据库、CSV文件...

    Struts2JasperReportIreport实例

    在Struts2中集成JasperReport和iReport,可以实现动态生成报表的功能。下面将详细介绍这个实例中的关键知识点: 1. **Struts2框架**:Struts2提供了一种灵活的控制器层,通过Action类处理HTTP请求,并且支持多种...

    Struts2AndJasperReport.rar

    在Java代码中,需要使用JDBC或者Hibernate等ORM框架获取数据,并填充到JasperReport的JRDataSource对象中。 5. **报表生成**:使用JasperFillManager.fillReport()方法填充数据到报表模板中,然后通过...

    Jasperreport资料

    2. 数据源(DataSource):JasperReport支持多种数据源,如Java集合、JRBeanCollectionDataSource、JDBC数据源等。数据源用于提供报表所需的数据。 3. 报表组件:包括表格、文本框、图像、图表等,它们是报表的基本...

    jasperreport初学用例

    JasperReport支持多种数据源,例如JDBC数据源。在Java代码中,我们需要创建一个`JRDataSource`实例,通常是`JRBeanCollectionDataSource`,然后将其传递给`JasperFillManager.fillReport()`方法。数据源可以是从...

    Ireport4集成Struts2

    2. **配置数据源**:在Struts2应用中配置数据库连接,通常是通过Spring等依赖注入框架管理DataSource。 3. **设计报表**:使用iReport设计报表模板,保存为.jrxml文件。 4. **生成报表**:在Struts2 Action中,使用...

    最新JasperReport3.7 iReport的java Web报表整合Struts2完整教程

    通过本文的介绍,读者应该能够掌握如何使用iReport设计基于JavaBean的数据源报表,并能够在Myeclipse中创建整合了JasperReport和Struts2的Java Web项目。此外,还讨论了常见的异常及其解决方法,帮助开发者在实际...

    jasperReport+ireport制作pdf报表教程

    2. **创建数据源**:在iReport中配置数据源,如数据库连接,确保报表能够获取到数据。 3. **设计报表模板**:使用iReport的可视化界面,拖放元素设计报表布局,包括表格、图表、文本框等。 4. **编写SQL查询**:在...

    jasperReport详细教程及例子

    - **数据源**: JasperReport支持JDBC连接,可以对接各种数据库;同时也能处理XML、CSV等结构化数据。 - **表达式语言**: 使用JasperReport的内置脚本语言JRExpression,可以在报表中执行计算、条件判断等操作。 ###...

    Struts2AndJasperReport

    Action可以通过JDBC连接数据库获取数据,也可以使用Java对象作为数据源。填充完成后,Action可以将报表流返回给客户端,通过设置Struts2的结果类型为"stream",可以实现报表的下载。 **集成步骤** 1. 添加...

    Struts2+ireport PDF报表

    在Struts2中集成iReport,可以实现从数据库或其他数据源获取数据,然后以PDF格式展示给用户,这对于企业级应用来说非常重要,因为PDF报表通常用于打印、保存和分发,确保数据的一致性和完整性。 **Struts2的配置** ...

    jasperreport学习资料(附jasperreport API).

    JasperReport支持多种数据源类型,如JDBC、JavaBeans、Collections等。 3. 报表引擎:根据报表模板和数据源,报表引擎负责生成最终的报表。它可以是PDF、HTML、Excel、CSV等各种格式。 学习JasperReport,你需要...

    Struts2 + JasperReports4 + DB2 Demo

    Struts2 + JasperReports4 + DB2 Demo是一个集成示例,展示了如何在Java Web应用程序中使用Struts2框架,JasperReports库以及DB2数据库来创建动态报告。这个项目可以帮助开发者学习如何有效地将这些技术结合在一起,...

    jasperreport技术共享.rar

    - **字段(Fields)**:从数据源中获取的数据被映射到报告的字段,这些字段在模板中被引用以显示数据。 - **表达式(Expressions)**:用于计算和处理字段值,可以包含复杂的Java表达式或脚本。 - **样式(Styles)*...

    基于jasperreport的java报表组件

    JasperReport支持多种数据源,包括JDBC、CSV、XML、Java对象等,且能与其他Java框架(如Spring、Struts)无缝集成。此外,JasperReport还提供了丰富的API,允许开发者自定义报表的生成逻辑,满足复杂的需求。 8. *...

    JasperReport+SSH

    2. **Struts**:Struts是Apache软件基金会的Jakarta项目中的一个MVC(Model-View-Controller)框架,用于构建基于Java的Web应用程序。Struts提供了一种结构化的框架,使开发者能够更有效地管理业务逻辑、视图和控制...

    iReport开发报表系统

    8. **报表生成**:在Struts2中,可以通过Action类的方法来执行报表生成。这个方法通常会加载数据,编译JRXML文件(如果需要),然后填充数据并生成报表。例如,`printResumeToPDF`方法可能读取JRXML路径,获取数据,...

Global site tag (gtag.js) - Google Analytics