⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ilabarticlepaperaction.java

📁 报表,关于ireport报表的一些源码(转)
💻 JAVA
字号:
package cn.edu.hlju.oa.kygl.action;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import cn.edu.hlju.oa.kygl.print.SRDataSourceFactory;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.engine.JRRuntimeException;
import cn.edu.hlju.oa.kygl.util.GlobalUtil;

public class ILabArticlePaperAction extends GeneralAction {
    /**
     * 一些预处理操作
     *
     * @param request HttpServletRequest
     * @param response HttpServletResponse
     * @throws Exception
     * @todo Implement this cn.edu.hlju.oa.kygl.action.GeneralAction method
     */
    void preProcess(HttpServletRequest request, HttpServletResponse response) throws Exception {
        request.setCharacterEncoding("UTF-8");
        String action=request.getParameter("action");
        if( action == null)
            action = "reportQuery";
        if( action.equals("reportQuery")){
            actionType=REPORT_QUERY;
            actionPage="ILabArticlePaperQuery.jsp";
        }else if(action.equals("reportPreview")){
            actionType=REPORT_PREVIEW;
             //进入到打印预览页面
            actionPage="GeneralHTMLReportViewer.jsp";
         }
    }

    /**
     * 验证操作
     *
     * @param request HttpServletRequest
     * @param response HttpServletResponse
     * @throws Exception
     * @todo Implement this cn.edu.hlju.oa.kygl.action.GeneralAction method
     */
    void validate(HttpServletRequest request, HttpServletResponse response) throws Exception {
    }


    /**
     * 执行业务逻辑的操作
     *
     * @param request HttpServletRequest
     * @param response HttpServletResponse
     * @throws Exception
     * @todo Implement this cn.edu.hlju.oa.kygl.action.GeneralAction method
     */
    void executeBusiniess(HttpServletRequest request, HttpServletResponse response) throws Exception {
        switch (actionType) {
        case REPORT_QUERY:
        {
            TreeMap map = GlobalUtil.getILabInfo("001");
            request.setAttribute("QueryTitle","著作、论文信息");
            request.setAttribute("ActionName","ILabArticlePaperAction");
            request.setAttribute("ILabInfo",map);
        }
        break;
        case REPORT_PREVIEW: {
            ServletContext context = this.getServletConfig().getServletContext();
            String filePath = context.getRealPath("/Reports/专著论文情况/专著论文情况.jasper");
            //获得重点实验室的编码
            String iLabBm = request.getParameter("ILabSelection");

            //起始时间和结束时间,并验证起始时间是否小于终止时间
            String startYear,endYear;
            startYear = request.getParameter("startYear");
            endYear   = request.getParameter("endYear");
            String temp;
            if( Integer.parseInt(startYear) > Integer.parseInt(endYear) ){
                temp = startYear;
                startYear = endYear;
                endYear = temp;
            }

            //生成对Jasper文件的引用
            File reportFile = new File(filePath);
            if (!reportFile.exists())
                throw new JRRuntimeException(
                        "File WebappReport.jasper not found. The report design must be compiled first.");

            //报表装填
            JasperReport jasperReport = (JasperReport) JRLoader.loadObject(reportFile.getPath());
            Map parameters = new HashMap();

            JasperPrint jasperPrint =
                    JasperFillManager.fillReport(
                            jasperReport,
                            parameters,
                            SRDataSourceFactory.createILabArticlePaperDS(startYear,endYear,iLabBm)
                    );
            //JasperViewer.viewReport(jasperPrint, false);
            request.getSession().setAttribute("JasperPrint", jasperPrint);
            request.getSession().setAttribute("pageTitle","专著、论文情况");
        }
        break;
      }
  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -