用ireport设计报表,通过jasper实现pdf导出及打印

开发环境描述:

       vista操作系统.

       下载iReport-nb-3.5.3-windows-installer,这个作为报表的设计器.

       采用的框架,webwork+ibatis+spring

步骤1:

       安装iReport-nb-3.5.3-windows-installer,到C盘下,设有设计器,

      启动iReport-nb-3.5.3,选择模板A4,

      同时修改报表的属性language为java,原默认为groovy.如果没有修改可能部署无法正常运行. pagewidth,pageheigth设置宽度,高度.QueryText作为测试十分有用,写连接的数据库的sql语句.  窗口-->服务可以启动连接到数据库的操作.

      对于.jrxml文件有设计,xml,预览等选项卡,设计预览类型在preview中选择.

=============================================

      因为ibatis的List通过 

      queryForList(statementName, parameterObject);

      以下是sqlmap的描述,返回resultClass的是hashMap.

 <select id="findEmsmail" parameterClass="java.util.HashMap" resultClass="java.util.HashMap" remapResults="true">

 </select>

      在ireport中,调用以上返回的List数据,是通过如下方法,否则无法正常显示

      $P.get("mail_feearea")

     中文显示问题:设置以下属性即可解决.

pdfFontName="STSong-Light" isPdfEmbedded ="true" pdfEncoding ="UniGB-UCS2-H"

 

  2.导入lib到项目中.需要从ireport中lib中找到以下类放到项目lib下.

   commons-beanutils-1.8.0.jar

  commons-digester-1.7.jar

  commons-logging-1.1.jar

  iText-2.1.0.jar

  iTextAsian.jar(中文显示问题)

jasperreports-3.5.3.jar

jdt-compiler-3.1.1.jar

jxl-2.6.jar

png-encoder-1.5.jar

poi-3.2-FINAL-20081019.jar

 

   3.action类

 private List emsmailList;//申明该对象.同时需要有set/get方法.

 

 if ("print".equals(actionType)) {
   emsmailList = emsmailFacade.findEmsmail(search);//查询数据
    return "report";
 }

  4.xwork的配置

   <result name="report" type="jasper">
          <param name="location">/WEB-INF/pages/application/netprint/emsmail/emsmail.jasper</param>
          <param name="dataSource">emsmailList</param>
          <param name="format">PDF</param>
      </result>

 

注意:

针对webwork需要在xwork.xml中加入(代码页段)

<xwork>
 <include file="webwork-default.xml"></include>

</xwork>

针对struct2需要如下配置(代码页段)

<struts>
 <package name="default" extends="struts-default,jasperreports-default">

</structs>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值