`
haiyusimon
  • 浏览: 31017 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

struts2 ireport jasperReport

阅读更多

先介绍一下它们的关系:

jasperReport:一个开源的,强大灵活的报表类库,能生成html,pdf等等其它格式报表。

官网:http://jasperforge.org/projects/jasperreports

 下载时把整个工程下下来。如图:

ireport:是jasperReport的可视化设计工具,使用ireport,可以更快地设计出想要的报表

下载:http://jasperforge.org/projects/ireport

注:我一开始的时候下的是最新版3.7.1,但后来运行老出问题,换了3.1版就好了

它有各个平台下的版本,windows下的下来直接安装即可。

struts2:著名的mvc框架,不多说了。

官网:http://struts.apache.org/

 

用到的jar包:

在struts2的:

 说明:json那个是我个别需要加的,可以去掉

在jasperReport的:

说明:itextAsian.jar 是为了中文能正确显示的包。

 

 

平时我们做开发时,是先用ireport设计好报表,然后编译得到名为xxx.jasper的文件。然后把xxx.jasper放到工程下使用,下面是做的一个列子(使用javabean数据源):

1.运行我们的ireport,新建一个report文件;

2.设置我们javabean的classpath路径,工具,选项,classpath,addFolder,选择工程下的的classpath路径加进去;如我的:F:\ansure_g_struts2\ext_struts2_004\WebRoot\WEB-INF\classes

3.为report添加数据源,右击report的名称,选择Edit query,javabean datasource,输入你的javabean名称,把其属性列表读取出来,把要打印的属性加到下面去,点确定。如图:

4.这样我们就可以在左侧的树形目录下看到Fields下有相关的属性,把他们拖到报表的detail 区域下,如图:

5.点击编译,生成xxx.jasper文件。

6.在你的web工程的根目录下建立一个文件夹jasper,把xxx.jasper文件放进该目录下

7.配置struts.xml,具体请看源文件。

 

struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
	<package name="test" extends="struts-default,jasperreports-default">
		<action name="toHtml" class="com.ansure.action.TestAction" method="execute">
			<result name="success" type="jasper">
				<param name="location">/jasper/report2.jasper</param>
				<param name="dataSource">userList</param>
				<param name="format">HTML</param>
			</result>
			<result name="error">
				/info_error.jsp
            </result>
		</action>
		<action name="toPdf" class="com.ansure.action.TestAction" method="execute">
			<result name="success" type="jasper">
				<param name="location">/jasper/report2.jasper</param>
				<param name="dataSource">userList</param>
				<param name="format">PDF</param>
			</result>
			<result name="error">
				/info_error.jsp
            </result>
		</action>
		<action name="toXml" class="com.ansure.action.TestAction" method="execute">
			<result name="success" type="jasper">
				<param name="location">/jasper/report2.jasper</param>
				<param name="dataSource">userList</param>
				<param name="format">XML</param>
			</result>
			<result name="error">
				/info_error.jsp
            </result>
		</action>
		<action name="toXls" class="com.ansure.action.TestAction" method="execute">
			<result name="success" type="jasper">
				<param name="location">/jasper/report2.jasper</param>
				<param name="dataSource">userList</param>
				<param name="format">XLS</param>
			</result>
			<result name="error">
				/info_error.jsp
            </result>
		</action>
	</package>
</struts>



 

javaBean

package com.ansure.moudle;

public class User {
	private int u_id;
	private String u_name;
	private String u_pwd;
	private String u_email;

	public User() {
	}

	public User(int id, String name, String pwd, String email) {
		this.u_id = id;
		this.u_name = name;
		this.u_pwd = pwd;
		this.u_email = email;
	}

	public int getU_id() {
		return u_id;
	}

	public void setU_id(int uId) {
		u_id = uId;
	}

	public String getU_email() {
		return u_email;
	}

	public void setU_email(String email) {
		this.u_email = email;
	}

	public String getU_name() {
		return u_name;
	}

	public void setU_name(String uName) {
		u_name = uName;
	}

	public String getU_pwd() {
		return u_pwd;
	}

	public void setU_pwd(String uPwd) {
		u_pwd = uPwd;
	}

}

 

Action

package com.ansure.action;

import java.util.List;

import com.ansure.moudle.User;
import com.ansure.service.UserService;
import com.opensymphony.xwork2.ActionSupport;

public class TestAction extends ActionSupport {
	private static final long serialVersionUID = 1L;
	private List<User> userList;

	UserService userService = new UserService();

	public String execute() {
		try {
			userList = userService.selec_all(); //数据Lsit
		} catch (Exception e) {
			e.printStackTrace();
			return ERROR;
		}
		return SUCCESS;
	}

	public List<User> getUserList() {
		return userList;
	}

	public void setUserList(List<User> userList) {
		this.userList = userList;
	}
}

 

视图页面index.jsp:

<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>JasperReport</title>
</head>
<body>
<a href="test/toHtml.action">toHTML</a>
<br><a href="test/toPdf.action">toPDF</a>
<br><a href="test/toXml.action">toXML</a>
<br><a href="test/toXls.action">toXLS</a>
</body>
</html>

 生成报表效果图:

 

 相关资料:http://neil-jh.iteye.com/blog/235834

                http://blog.csdn.net/nopain_nogain/archive/2009/06/27/4302437.aspx

                http://hi.baidu.com/cool%5Flijia/blog/category/ireport%B1%A8%B1%ED

分享到:
评论
5 楼 iris_1992 2015-04-30  
2005年以前,国外开原报表完全碾压国产软件,但是现在国内软件,像帆软、FineBI,都比较牛掰了,设计模式和数据处理方面优于开源报表,真犯不着再用ireport了,完爆ireport啊
4 楼 吴志飞 2013-07-16  
上面是一个简单的例子,如果将这个ireport应用web,数据源是jdbc,只是通过一个简单的sql获取到报表数据不是通过javabean,应该怎么设置
3 楼 chinahnzhou 2012-08-22  
谢谢分享,解决了我的问题。
2 楼 夜之son 2010-12-30  
说句实话,我的classpath一直不对
1 楼 hanxin830311 2010-08-27  
我用了很多方法来进行struts2+ireport的整合,做了几个demo,数据源为jdbc和javabean,可是所有的测试都以java.lang.NoSuchMethodError: org.codehaus.groovy.runtime.ScriptBytecodeAdapter.castToType(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
错误结束,要我很头疼,网上没找到资料,不知道这问题到底出来哪里?好几天了都没弄好。急死了,给点指点吧

相关推荐

    struts2整合jasperreport

    在本文中,我们将深入探讨如何整合Struts2框架与JasperReport3来创建动态报表,并利用iReport工具进行报表设计。Struts2是一个流行的Java Web应用程序框架,它提供了MVC(模型-视图-控制器)架构,而JasperReport则...

    struts2+jasperReport+ireport做报表总结

    Struts2、JasperReport 和 iReport 是开发Web报表应用中的常用技术栈。本文主要针对使用Struts2框架结合JasperReport5.0与iReport5.0进行报表开发时可能遇到的问题进行总结。 1. **报表预览问题**: - 数据源为空...

    struts2+ireport+jasperreport报表设计简单示例

    使用ireport和struts2进行报表设计的简单示例,生成普通报表和饼图、柱状图。java工程的lib里包含丰富的jar包,且很多都是从各个网站下载的最新版本,文件夹内还包含一些ireport和jasperreport文档,适合刚入门学习...

    MyEclipse Eclipse iReport JasperReport Struts2

    【MyEclipse、Eclipse、iReport、JasperReport与Struts2的整合】 在Java Web开发中,MyEclipse和Eclipse是两种常用的集成开发环境(IDE),它们提供了丰富的功能,包括代码编辑、调试、构建和部署等。iReport是一款...

    struts2+Ireport+Jasperreport实现报表导出

    Struts2、iReport与JasperReport是Java开发中用于构建高效、动态Web应用程序和报表生成的工具。在这个项目中,这些技术结合在一起,提供了一种强大的报表导出解决方案。以下是对这些关键技术及其在项目中的应用的...

    MyEclipse iReport JasperReport Struts2.doc

    本文将介绍如何在MyEclipse中使用iReport和JasperReport结合Struts2框架来开发报表。MyEclipse是一款强大的Java集成开发环境,而iReport是一款基于JasperReport的报表设计工具,Struts2则是一个流行的Java web应用...

    Struts2_JasperReport整合的例子

    1. **添加依赖**:在项目中引入Struts2和JasperReport的相关库,包括struts2-core、jasperreports、ireport-designer等。这些库可以通过Maven或Gradle等构建工具管理。 2. **创建报表模板**:使用IReport工具,设计...

    maven struts2 jasperreport ireport亲测通过整合多家资源

    在这个场景下,`Maven`、`Struts2`、`JasperReport` 和 `iReport` 是四个关键的技术组件,它们共同作用于创建一个强大的、数据驱动的Web应用程序。下面将详细介绍这些技术及其整合过程。 首先,`Maven` 是一个项目...

    Struts2与Jasperreport报表结合

    Struts2和JasperReport是两个在Java Web开发中广泛使用的框架。Struts2作为MVC(模型-视图-控制器)架构的一部分,主要用于处理HTTP请求并管理应用程序流程,而JasperReport则是一个强大的报告生成工具,能够创建...

    整合Struts2.1+jasperreport

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

    Struts2与jasperReport简单示例

    2. **创建报表**:使用JasperReport的报表设计工具iReport或直接编写JRXML文件来定义报表的布局和数据源。报表设计通常包括字段、表格、图表等元素,并可以引用外部数据源(如数据库、CSV文件等)。 3. **生成报表...

    Struts2.0+JasperReport+IReport+Oracle 报表开发

    Struts2.0+JasperReport+IReport+Oracle 报表开发 整个项目打包上传,用MyEclipse导入即可调试使用 含报表文件、数据库表结构及测试数据,项目中解决了PDF中文不显示问题

    Struts2.0+JasperReport+IReport+Oracle 报表开发 2/3

    Struts2.0+JasperReport+IReport+Oracle 报表开发 整个项目打包上传,用MyEclipse导入即可调试使用 含报表文件、数据库表结构及测试数据,项目中解决了PDF中文不显示问题

    struts2利用jasperreport导出excel

    2. **设计报表模板**:使用JasperReport提供的iReport工具,你可以设计Excel报表的模板(jrxml文件)。模板中可以包含数据字段、样式、表格、图表等各种元素。设计完成后,编译成.jasper文件。 3. **准备数据源**:...

    Struts2.0+JasperReport+IReport+Oracle 报表开发 3/3

    Struts2.0+JasperReport+IReport+Oracle 报表开发整个项目打包上传,用MyEclipse导入即可调试使用含报表文件、数据库表结构及测试数据,项目中解决了PDF中文

    ireport+struts2实现web开发

    在Web开发领域,IReport与Struts2的结合使用是一种常见的技术栈,尤其适用于构建数据可视化和报告生成的系统。IReport是一款强大的报表设计工具,它允许开发者通过拖拽方式创建复杂的报表,而Struts2则是一个流行的...

    struts+ireport报表在页面显示,导出,打印功能

    2. **数据源连接**:报表需要数据来填充,iReport支持多种数据源,包括数据库、CSV文件、XML数据等。开发者需要配置合适的数据源连接,以便在运行时获取报表所需的数据。 3. **Struts整合**:在Struts中,我们需要...

    Ireport4集成Struts2

    描述中提到"包含LIB ireport jasperreport Struts2 数据库 连接ORACL",这意味着我们需要关注以下几个关键点: 1. **LIB**:通常指项目所需的库文件或JAR包,这些是运行和编译程序所必需的依赖。 2. **jasperreport...

    struts1 iReport-3.7.5

    刚学用这玩意 代码我也是在网上下的,但是里面差好多jar包,我补全了,顺便把jrxml编译了一下 希望对刚和我一样初学的人有点用吧!!

Global site tag (gtag.js) - Google Analytics