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代码   收藏代码
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE struts PUBLIC  
  3.     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  
  4.     "http://struts.apache.org/dtds/struts-2.0.dtd">  
  5. <struts>  
  6.     <package name="test" extends="struts-default,jasperreports-default">  
  7.         <action name="toHtml" class="com.ansure.action.TestAction" method="execute">  
  8.             <result name="success" type="jasper">  
  9.                 <param name="location">/jasper/report2.jasper</param>  
  10.                 <param name="dataSource">userList</param>  
  11.                 <param name="format">HTML</param>  
  12.             </result>  
  13.             <result name="error">  
  14.                 /info_error.jsp  
  15.             </result>  
  16.         </action>  
  17.         <action name="toPdf" class="com.ansure.action.TestAction" method="execute">  
  18.             <result name="success" type="jasper">  
  19.                 <param name="location">/jasper/report2.jasper</param>  
  20.                 <param name="dataSource">userList</param>  
  21.                 <param name="format">PDF</param>  
  22.             </result>  
  23.             <result name="error">  
  24.                 /info_error.jsp  
  25.             </result>  
  26.         </action>  
  27.         <action name="toXml" class="com.ansure.action.TestAction" method="execute">  
  28.             <result name="success" type="jasper">  
  29.                 <param name="location">/jasper/report2.jasper</param>  
  30.                 <param name="dataSource">userList</param>  
  31.                 <param name="format">XML</param>  
  32.             </result>  
  33.             <result name="error">  
  34.                 /info_error.jsp  
  35.             </result>  
  36.         </action>  
  37.         <action name="toXls" class="com.ansure.action.TestAction" method="execute">  
  38.             <result name="success" type="jasper">  
  39.                 <param name="location">/jasper/report2.jasper</param>  
  40.                 <param name="dataSource">userList</param>  
  41.                 <param name="format">XLS</param>  
  42.             </result>  
  43.             <result name="error">  
  44.                 /info_error.jsp  
  45.             </result>  
  46.         </action>  
  47.     </package>  
  48. </struts>  

 

javaBean

Java代码   收藏代码
  1. package com.ansure.moudle;  
  2.   
  3. public class User {  
  4.     private int u_id;  
  5.     private String u_name;  
  6.     private String u_pwd;  
  7.     private String u_email;  
  8.   
  9.     public User() {  
  10.     }  
  11.   
  12.     public User(int id, String name, String pwd, String email) {  
  13.         this.u_id = id;  
  14.         this.u_name = name;  
  15.         this.u_pwd = pwd;  
  16.         this.u_email = email;  
  17.     }  
  18.   
  19.     public int getU_id() {  
  20.         return u_id;  
  21.     }  
  22.   
  23.     public void setU_id(int uId) {  
  24.         u_id = uId;  
  25.     }  
  26.   
  27.     public String getU_email() {  
  28.         return u_email;  
  29.     }  
  30.   
  31.     public void setU_email(String email) {  
  32.         this.u_email = email;  
  33.     }  
  34.   
  35.     public String getU_name() {  
  36.         return u_name;  
  37.     }  
  38.   
  39.     public void setU_name(String uName) {  
  40.         u_name = uName;  
  41.     }  
  42.   
  43.     public String getU_pwd() {  
  44.         return u_pwd;  
  45.     }  
  46.   
  47.     public void setU_pwd(String uPwd) {  
  48.         u_pwd = uPwd;  
  49.     }  
  50.   
  51. }  

 

Action

Java代码   收藏代码
  1. package com.ansure.action;  
  2.   
  3. import java.util.List;  
  4.   
  5. import com.ansure.moudle.User;  
  6. import com.ansure.service.UserService;  
  7. import com.opensymphony.xwork2.ActionSupport;  
  8.   
  9. public class TestAction extends ActionSupport {  
  10.     private static final long serialVersionUID = 1L;  
  11.     private List<User> userList;  
  12.   
  13.     UserService userService = new UserService();  
  14.   
  15.     public String execute() {  
  16.         try {  
  17.             userList = userService.selec_all(); //数据Lsit  
  18.         } catch (Exception e) {  
  19.             e.printStackTrace();  
  20.             return ERROR;  
  21.         }  
  22.         return SUCCESS;  
  23.     }  
  24.   
  25.     public List<User> getUserList() {  
  26.         return userList;  
  27.     }  
  28.   
  29.     public void setUserList(List<User> userList) {  
  30.         this.userList = userList;  
  31.     }  
  32. }  

 

视图页面index.jsp:

Java代码   收藏代码
  1. <%@ page language="java" pageEncoding="UTF-8"%>  
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  3. <html>  
  4. <head>  
  5. <title>JasperReport</title>  
  6. </head>  
  7. <body>  
  8. <a href="test/toHtml.action">toHTML</a>  
  9. <br><a href="test/toPdf.action">toPDF</a>  
  10. <br><a href="test/toXml.action">toXML</a>  
  11. <br><a href="test/toXls.action">toXLS</a>  
  12. </body>  
  13. </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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值