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

📄 ilabresearchresultaction.java

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

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import cn.edu.hlju.oa.kygl.action.GeneralAction;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
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.print.SRDataSourceFactory;
import cn.edu.hlju.oa.kygl.util.GlobalUtil;

public class ILabResearchResultAction 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="ILabResearchResultQuery.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","ILabResearchResultAction");
           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.createILabResearchResultDS(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 + -