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

📄 ilabprojectinfo4researcheraction.java

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

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


public class ILabProjectInfo4ResearcherAction extends GeneralAction {
    public ILabProjectInfo4ResearcherAction() {
    }

    /**
    * 一些预处理操作
    *
    * @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="ILabProjectInfo4ResearcherQuery.jsp";
        }else if(action.equals("reportPreview")){
            actionType=REPORT_PREVIEW;
            //进入到打印预览页面
            actionPage="GeneralHTMLReportViewer.jsp";
            //actionPage="PrintPreviewServlet";
        }else if(action.equals("reportPrint")){
            actionType=REPORT_PRINT;
            //返回到查询页面
            actionPage="ILabProvincePlusProjectQuery.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","ILabProjectInfo4ResearcherAction");
                request.setAttribute("ILabInfo",map);
            }
            break;
            case REPORT_PREVIEW:
            {
                //获得年限:5年或10年-----------------------------------------------------
                int yearLimit = Integer.parseInt(request.getParameter("yearLimit"));
                int startYear = Integer.parseInt(request.getParameter("startYear"));
                //获得重点实验室的编码
                String iLabBm = request.getParameter("ILabSelection");

                String filePath = null;
                ServletContext context = this.getServletConfig().getServletContext();
                if( yearLimit == 5)
                    filePath = context.getRealPath("/Reports/实验室人员承担项目情况/ProjectInfo4ResearcherInLab1.jasper");
                else
                    filePath = context.getRealPath("/Reports/实验室人员承担项目情况/ProjectInfo4ResearcherInLab2.jasper");

                //生成对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();
                parameters.put("StartYear",startYear);
                JasperPrint jasperPrint =
                        JasperFillManager.fillReport(
                                jasperReport,
                                parameters,
                                SRDataSourceFactory.createILabReseacherProjectsDS(startYear,yearLimit,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 + -