zoukankan      html  css  js  c++  java
  • 暑期项目经验(七)--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>
  • 相关阅读:
    kettle 9.1 windows 安装
    C# post 方式调用 webservice
    crm 2016 隐藏 crmTopBar 新建活动 新建记录 导入数据
    SqlServer修改数据库文件存放位置
    always on 下移动数据库文件 AlwaysON move database without breaking HADR
    kettle 启动问题 spoon 处理方法
    kettle Spoon.bat 启动 java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
    SQL 查询学生缺考情况
    SQL学习笔记:选取第N条记录
    观察者模式在MVP中的应用
  • 原文地址:https://www.cnblogs.com/pxjgood/p/3991668.html
Copyright © 2011-2022 走看看