一、步骤
(1)将struts2的jasperreport插件包和jasperreport包导入,struts2项目中
(2)编写action
import java.util.ArrayList;
import java.util.List;
import smartcoms.web.UIElement.Account;
import com.opensymphony.xwork2.ActionSupport;
public class ReportDemo extends ActionSupport {
private List<Account> accountList;
public void setAccountList(List<Account> accountList) {
this.accountList = accountList;
}
public List<Account> getAccountList(){
List<Account> result = new ArrayList<Account>();
result.add(new Account("1", "2007-19-38", "204.38"));
result.add(new Account("2", "2008-09-25", "67382"));
result.add(new Account("3", "2002-03-02", "12456"));
return result;
}
}
(3)配置struts.xml
<package name="myreport" extends="jasperreports-default" namespace="/report">
<action name="export" class="export">
<result name="success" type="jasper">
<param name="location">WEB-INF\jasperTemplet\testreport.jasper</param>
<param name="format">HTML</param>
<param name="dataSource">accountList</param>
</result>
</action>
</package>
注意:format项值html必须全部大写;dataSource不能写成datasource或其他;accountList为action中的vo集合;testreport.jasper是iReport事先生成好的报表模板文件
(4)jsp调用
<form id="report" action="report/export.action">
<input type="submit" value="生成报表"/>
(5)补充 这里用到个类Account是用来封装报表的记录对象的
public class Account {
private int count_id;
private String count_time;
private float count_money;
public Account(){}
public Account(int id, String date, float num){
this.count_id = id;
this.count_time = date;
this.count_money = num;
}
public int getCount_id() {
return count_id;
}
public void setCount_id(int count_id) {
this.count_id = count_id;
}
public String getCount_time() {
return count_time;
}
public void setCount_time(String count_time) {
this.count_time = count_time;
}
public float getCount_money() {
return count_money;
}
public void setCount_money(float count_money) {
this.count_money = count_money;
}
}
注意:属性名必须与报表模板定义的字段名一致
分享到:
相关推荐
1. 添加依赖:在项目的pom.xml或者build.gradle文件中,引入Struts2和JasperReport相关的库,确保所有必要的jar包都已包含在项目中。 2. 创建报表:使用iReport或其他设计工具,创建JRXML文件,定义报表的布局和...
Struts2是一个流行的Java web应用框架,用于构建和维护可扩展...通过学习这个项目,开发者可以深入理解Maven的依赖管理、Struts2的Action机制以及JasperReport的报表设计和数据处理,从而提升Java Web应用的开发技能。
Struts2和JasperReport是Java开发中两个重要的框架,它们在企业级应用中有着广泛的应用。Struts2是一个强大的MVC(Model-View-Controller)框架,它为Web应用程序提供了一种组织业务逻辑和控制层的方式。而...
1. **配置文件**:如struts2的struts.xml,Spring的applicationContext.xml,Hibernate的hibernate.cfg.xml,以及jasperreport的相关配置。 2. **实体类**:对应数据库表结构的Java类,用于ORM映射。 3. **DAO(数据...
通过深入学习和研究这个示例,开发者可以掌握Struts2、Spring2、Hibernate3和JasperReport的集成使用,从而提升在企业级Java Web开发中的技能。同时,这也是一种实践驱动的学习方式,对于理解这些技术的实际应用场景...
对于初学者而言,Struts2的学习曲线可能略高,但其强大的功能和社区支持使其成为许多大型项目的选择。 ##### Spring框架 Spring框架是JAVA开发中不可或缺的一部分,它主要提供依赖注入(DI)和面向切面编程(AOP)...
通过阅读《报表研究笔记.doc》,你可以更深入地了解JasperReports的使用技巧和最佳实践,提升你在报表开发领域的专业能力。文档可能涵盖了从基础概念到高级特性的全方位介绍,是学习和解决问题的重要参考资料。
JavaWeb课程设计是学习JavaWeb开发过程中的一个重要实践环节,旨在让学生通过实际操作来巩固理论知识,提升项目开发能力。以下是一些可能的JavaWeb课程设计题目,涵盖多个方面,帮助你深入理解并掌握JavaWeb技术。 ...