暑期项目经验(七)--struts+jasperreporters

            struts + jasperreporters

1.jasperreporters+ireport,版本要对应,先用ireport制作相应模版,生成相应.jasper文件。

实例如下:

2.jar包:

3.实体类

package com.pxj.report.pojo;

public class Address {
    private String city;
    private String zipcode;
    public String getCity() {
        return city;
    }
    public void setCity(String city) {
        this.city = city;
    }
    public String getZipcode() {
        return zipcode;
    }
    public void setZipcode(String zipcode) {
        this.zipcode = zipcode;
    }
    
}


package com.pxj.report.pojo;

import java.util.HashSet;
import java.util.Set;

public class Company implements Comparable<Company>{

    private String name;
    private Address address;
    private Set<Staff> staffs = new HashSet<Staff>();
    
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Address getAddress() {
        return address;
    }

    public void setAddress(Address address) {
        this.address = address;
    }

    public Set<Staff> getStaffs() {
        return staffs;
    }

    public void setStaffs(Set<Staff> staffs) {
        this.staffs = staffs;
    }

    public int compareTo(Company o) {
        return o.getName().compareTo(this.getName());
    }
    
}


package com.pxj.report.pojo;

public class Staff {
    private String name;
    private Company company;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Company getCompany() {
        return company;
    }
    public void setCompany(Company company) {
        this.company = company;
    }
    
}

 4.Action

package com.pxj.report.action;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.opensymphony.xwork2.ActionSupport;
import com.pxj.report.pojo.Address;
import com.pxj.report.pojo.Company;
import com.pxj.report.pojo.Staff;

public class DemoAction extends ActionSupport{
    private static final long serialVersionUID = 1446363L;
    
    private List<Staff> list;
    Map<String,Object> map;
    
    public List<Staff> getList() {
        return list;
    }

    public void setList(List<Staff> list) {
        this.list = list;
    }

    public Map<String, Object> getMap() {
        return map;
    }

    public void setMap(Map<String, Object> map) {
        this.map = map;
    }

    @Override
    public String execute() throws Exception {
        list = getData();
        map = getParameter();
        return super.execute();
    }

    private Map<String, Object> getParameter() {
        Map<String,Object> map = new HashMap<String,Object>();
        map.put("date", "2014-08-04");
        return map;
    }

    private List<Staff> getData() {
        Address addr = new Address();
        addr.setCity("重庆");
        addr.setZipcode("20140804");
        
        Company company1 = new Company();
        company1.setName("天友");
        company1.setAddress(addr);
        Company company2 = new Company();
        company2.setName("谷歌");
        company2.setAddress(addr);
        
        Staff staff1 = new Staff();
        staff1.setName("张三");
        staff1.setCompany(company1);
        Staff staff2 = new Staff();
        staff2.setName("李四");
        staff2.setCompany(company2);
        Staff staff3 = new Staff();
        staff3.setName("王五");
        staff3.setCompany(company1);
        
        List<Staff> list = new ArrayList<Staff>();
        list.add(staff1);
        list.add(staff2);
        list.add(staff3);
        return list;
    }
}

 5.struts.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
    <package name="project" namespace="/" extends="jasperreports-default">
        
        <action name="viewDemo" class="com.pxj.report.action.DemoAction">
            <result name="success" type="jasper"> <!-- 指定类型 -->
                <param name="location">/jasper/strust2Demo.jasper</param>  <!-- 指定jasper文件位置 -->
                <param name="dataSource">list</param>   <!-- 指定数据源 -->
                <param name="format">PDF</param>     <!-- 指定生成格式 -->
                <param name="reportParameters">map</param> <!-- 指定传递替换参数 -->
            </result> 
        </action>
    
    </package>
</struts>

 

posted @ 2014-09-24 22:14  星尘pxj  阅读(220)  评论(0编辑  收藏  举报