Webwork使用JasperReport入门实例
来源:互联网 发布:阿里云sdk 编辑:程序博客网 时间:2024/05/16 17:07
首先,建立bean及Action
package ch7.example6;
public class Member...{
String firstname;
String lastname;
String email;
public String getEmail() ...{
return email;
}
public void setEmail(String email) ...{
this.email = email;
}
public String getFirstname() ...{
return firstname;
}
public void setFirstname(String firstname) ...{
this.firstname = firstname;
}
public String getLastname() ...{
return lastname;
}
public void setLastname(String lastname) ...{
this.lastname = lastname;
}
}
package ch7.example6;
import java.util.ArrayList;
import java.util.List;
import ch7.example5.Member;
import com.opensymphony.xwork.ActionSupport;
public class TestJaserReport extends ActionSupport ...{
List members=new ArrayList();
public TestJaserReport()...{
Member m1=new Member();
m1.setEmail("gaoxiang1@tom.com");
m1.setFirstname("gao1");
m1.setLastname("xiang1");
Member m2=new Member();
m2.setEmail("gaoxiang2@tom.com");
m2.setFirstname("gao2");
m2.setLastname("xiang2");
Member m3=new Member();
m3.setEmail("gaoxiang3@tom.com");
m3.setFirstname("gao3");
m3.setLastname("xiang3");
members.add(m1);
members.add(m2);
members.add(m3);
}
public String execute() throws Exception ...{
return SUCCESS;
}
public List getMembers() ...{
return members;
}
public void setMembers(List members) ...{
this.members = members;
}
}
public class Member...{
String firstname;
String lastname;
String email;
public String getEmail() ...{
return email;
}
public void setEmail(String email) ...{
this.email = email;
}
public String getFirstname() ...{
return firstname;
}
public void setFirstname(String firstname) ...{
this.firstname = firstname;
}
public String getLastname() ...{
return lastname;
}
public void setLastname(String lastname) ...{
this.lastname = lastname;
}
}
package ch7.example6;
import java.util.ArrayList;
import java.util.List;
import ch7.example5.Member;
import com.opensymphony.xwork.ActionSupport;
public class TestJaserReport extends ActionSupport ...{
List members=new ArrayList();
public TestJaserReport()...{
Member m1=new Member();
m1.setEmail("gaoxiang1@tom.com");
m1.setFirstname("gao1");
m1.setLastname("xiang1");
Member m2=new Member();
m2.setEmail("gaoxiang2@tom.com");
m2.setFirstname("gao2");
m2.setLastname("xiang2");
Member m3=new Member();
m3.setEmail("gaoxiang3@tom.com");
m3.setFirstname("gao3");
m3.setLastname("xiang3");
members.add(m1);
members.add(m2);
members.add(m3);
}
public String execute() throws Exception ...{
return SUCCESS;
}
public List getMembers() ...{
return members;
}
public void setMembers(List members) ...{
this.members = members;
}
}
以xml形式编写jasperreport模板文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jasperReport PUBLIC "-//JasperReports//DTD Report Design//EN"
"http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport name="members">
<field name="email" class="java.lang.String">
<fieldDescription>email</fieldDescription>
</field>
<field name="firstname" class="java.lang.String">
<fieldDescription>firstname</fieldDescription>
</field>
<field name="lastname" class="java.lang.String">
<fieldDescription>lastname</fieldDescription>
</field>
<detail>
<band height="20">
<textField>
<reportElement x="0" y="3" width="100" height="15"/>
<textFieldExpression>$F{email}</textFieldExpression>
</textField>
<textField>
<reportElement x="100" y="3" width="100" height="15"/>
<textFieldExpression>$F{firstname}</textFieldExpression>
</textField>
<textField>
<reportElement x="200" y="3" width="100" height="15"/>
<textFieldExpression>$F{lastname}</textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>
<!DOCTYPE jasperReport PUBLIC "-//JasperReports//DTD Report Design//EN"
"http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport name="members">
<field name="email" class="java.lang.String">
<fieldDescription>email</fieldDescription>
</field>
<field name="firstname" class="java.lang.String">
<fieldDescription>firstname</fieldDescription>
</field>
<field name="lastname" class="java.lang.String">
<fieldDescription>lastname</fieldDescription>
</field>
<detail>
<band height="20">
<textField>
<reportElement x="0" y="3" width="100" height="15"/>
<textFieldExpression>$F{email}</textFieldExpression>
</textField>
<textField>
<reportElement x="100" y="3" width="100" height="15"/>
<textFieldExpression>$F{firstname}</textFieldExpression>
</textField>
<textField>
<reportElement x="200" y="3" width="100" height="15"/>
<textFieldExpression>$F{lastname}</textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>
使用com.opensymphony.webwork.views.jasperreports.CompileReport;进行报表模板编译,生成japser文件,这很重要,我开始以为直接写japser文件就可以了,但一直有不能读取对象的异常,查看了jasperreport的源码,方知道,报表文件原来是需要进行编译的
xwork配置文件
<include file="webwork-default.xml"></include>
<action name="testjaserreport-html" class="ch7.example6.TestJaserReport">
<result name="success" type="jasper">
<param name="location">/ch7/members.jasper</param>
<param name="dataSource">members</param>
<param name="format">PDF</param>
</result>
</action>
其中location是jasper文件路径
dataSource是action中有getter方法的属性
format是报表格式,除了PDF,jasperreport还还支持HTML,XLS,CSV,XML格式
<action name="testjaserreport-html" class="ch7.example6.TestJaserReport">
<result name="success" type="jasper">
<param name="location">/ch7/members.jasper</param>
<param name="dataSource">members</param>
<param name="format">PDF</param>
</result>
</action>
其中location是jasper文件路径
dataSource是action中有getter方法的属性
format是报表格式,除了PDF,jasperreport还还支持HTML,XLS,CSV,XML格式
jasper result还有一个特殊之处,他需要一个1*1像素的图形文件,放到webroot的images目录下,取名为px(注意:没有扩展名)
运行action,可以看到浏览器已经给出PDF格式的报表了
- Webwork使用JasperReport入门实例
- Webwork使用Velocity入门实例
- Webwork使用Freemarker入门实例
- WEBWORK入门及实例说明
- WEBWORK入门及实例说明
- webwork+jasperReport实践
- jasperreport插件dynamicreports使用实例
- IReport&Jasperreport使用实例代码
- jasperReport和JasperServer的使用实例
- webwork入门
- webwork入门
- WebWork入门
- webwork + ajax 整合实例
- webwork + ajax 整合实例
- WebWork介绍-入门helloWorld
- webwork入门文章
- WebWork 入门示例
- JasperReport的入门步骤
- IEEE802.11中的联结与重联结(原创)
- 从零开始
- 【转载】常挪窝的鸡是不下蛋的!
- 微软在中国的最好的策略是windows免费
- Apr14th2007今天看到了一片文章,感觉说的很有道理
- Webwork使用JasperReport入门实例
- 整理的JasperReport资料
- tets
- Java 中对象的序列化技术(zz一篇java序列化的好文,强烈推荐)
- 使用ERWin设计数据库
- java学习的5个阶段
- Atlas 概述
- hlist 哈希链表
- 数据库 内连接与外连接