`

JasperReport+Struts2学习记录

阅读更多
一、步骤
(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;
	}
	
}

注意:属性名必须与报表模板定义的字段名一致
分享到:
评论
3 楼 trevorwang 2009-04-29  
dataSource能否数据源
2 楼 zw7534313 2008-04-22  
  有例子没?咋没做完啊?给我个例子?
         zw7534313@163.com
1 楼 guobaorui4365 2008-04-21  
Ireport 学习中。。

相关推荐

Global site tag (gtag.js) - Google Analytics