vjame

          優(yōu)化代碼是無止境的
          隨筆 - 65, 文章 - 9, 評(píng)論 - 26, 引用 - 0
          數(shù)據(jù)加載中……

          JasperReports學(xué)習(xí)筆記3-在瀏覽器生成PDF文件


          一、新建web工程,導(dǎo)入jasperreports所需的jar包,配置web.xml
          1    <servlet>
          2        <servlet-name>PdfServlet</servlet-name>
          3        <servlet-class>net.sf.jasperreports.j2ee.servlets.PdfServlet</servlet-class>
          4    </servlet>
          5    <servlet-mapping>
          6        <servlet-name>PdfServlet</servlet-name>
          7        <url-pattern>/servlets/pdf</url-pattern>
          8    </servlet-mapping>


          二、 編譯jrxml文件,生成jasper文件

            1/*
            2 * JasperReports - Free Java Reporting Library.
            3 * Copyright (C) 2001 - 2013 Jaspersoft Corporation. All rights reserved.
            4 * http://www.jaspersoft.com
            5 *
            6 * Unless you have purchased a commercial license agreement from Jaspersoft,
            7 * the following license terms apply:
            8 *
            9 * This program is part of JasperReports.
           10 *
           11 * JasperReports is free software: you can redistribute it and/or modify
           12 * it under the terms of the GNU Lesser General Public License as published by
           13 * the Free Software Foundation, either version 3 of the License, or
           14 * (at your option) any later version.
           15 *
           16 * JasperReports is distributed in the hope that it will be useful,
           17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
           18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
           19 * GNU Lesser General Public License for more details.
           20 *
           21 * You should have received a copy of the GNU Lesser General Public License
           22 * along with JasperReports. If not, see <http://www.gnu.org/licenses/>.
           23 */

           24package servlets;
           25
           26import java.io.IOException;
           27import java.io.PrintWriter;
           28
           29import javax.servlet.ServletContext;
           30import javax.servlet.ServletException;
           31import javax.servlet.http.HttpServlet;
           32import javax.servlet.http.HttpServletRequest;
           33import javax.servlet.http.HttpServletResponse;
           34
           35import net.sf.jasperreports.engine.JRException;
           36import net.sf.jasperreports.engine.JasperCompileManager;
           37
           38
           39/**
           40 * @author Teodor Danciu (teodord@users.sourceforge.net)
           41 * @version $Id: CompileServlet.java 5876 2013-01-07 19:05:05Z teodord $
           42 */

           43public class CompileServlet extends HttpServlet
           44{
           45
           46
           47    /**
           48     *
           49     */

           50    public void service(
           51        HttpServletRequest request,
           52        HttpServletResponse response
           53        ) throws IOException, ServletException
           54    {
           55        ServletContext context = this.getServletConfig().getServletContext();
           56
           57        response.setContentType("text/html");
           58        PrintWriter out = response.getWriter();
           59
           60        try
           61        {
           62            JasperCompileManager.compileReportToFile(context.getRealPath("/reports/WebappReport.jrxml"));
           63        }

           64        catch (JRException e)
           65        {
           66            out.println("<html>");
           67            out.println("<head>");
           68            out.println("<title>JasperReports - Web Application Sample</title>");
           69            out.println("<link rel=\"stylesheet\" type=\"text/css\" href=\"../stylesheet.css\" title=\"Style\">");
           70            out.println("</head>");
           71            
           72            out.println("<body bgcolor=\"white\">");
           73
           74            out.println("<span class=\"bnew\">JasperReports encountered this error :</span>");
           75            out.println("<pre>");
           76
           77            e.printStackTrace(out);
           78
           79            out.println("</pre>");
           80
           81            out.println("</body>");
           82            out.println("</html>");
           83
           84            return;
           85        }

           86
           87        out.println("<html>");
           88        out.println("<head>");
           89        out.println("<title>JasperReports - Web Application Sample</title>");
           90        out.println("<link rel=\"stylesheet\" type=\"text/css\" href=\"../stylesheet.css\" title=\"Style\">");
           91        out.println("</head>");
           92        
           93        out.println("<body bgcolor=\"white\">");
           94
           95        out.println("<span class=\"bold\">The JRXML report design was successfully compiled.</span>");
           96
           97        out.println("</body>");
           98        out.println("</html>");
           99    }

          100
          101
          102}

          103




          三、填充數(shù)據(jù)

            1/*
            2 * JasperReports - Free Java Reporting Library.
            3 * Copyright (C) 2001 - 2013 Jaspersoft Corporation. All rights reserved.
            4 * http://www.jaspersoft.com
            5 *
            6 * Unless you have purchased a commercial license agreement from Jaspersoft,
            7 * the following license terms apply:
            8 *
            9 * This program is part of JasperReports.
           10 *
           11 * JasperReports is free software: you can redistribute it and/or modify
           12 * it under the terms of the GNU Lesser General Public License as published by
           13 * the Free Software Foundation, either version 3 of the License, or
           14 * (at your option) any later version.
           15 *
           16 * JasperReports is distributed in the hope that it will be useful,
           17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
           18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
           19 * GNU Lesser General Public License for more details.
           20 *
           21 * You should have received a copy of the GNU Lesser General Public License
           22 * along with JasperReports. If not, see <http://www.gnu.org/licenses/>.
           23 */

           24package servlets;
           25
           26import java.io.File;
           27import java.io.IOException;
           28import java.io.PrintWriter;
           29import java.util.HashMap;
           30import java.util.Map;
           31
           32import javax.servlet.ServletContext;
           33import javax.servlet.ServletException;
           34import javax.servlet.http.HttpServlet;
           35import javax.servlet.http.HttpServletRequest;
           36import javax.servlet.http.HttpServletResponse;
           37
           38import net.sf.jasperreports.engine.JRException;
           39import net.sf.jasperreports.engine.JRRuntimeException;
           40import net.sf.jasperreports.engine.JasperFillManager;
           41import net.sf.jasperreports.engine.JasperPrint;
           42import net.sf.jasperreports.j2ee.servlets.BaseHttpServlet;
           43import datasource.WebappDataSource;
           44
           45
           46/**
           47 * @author Teodor Danciu (teodord@users.sourceforge.net)
           48 * @version $Id: FillServlet.java 5876 2013-01-07 19:05:05Z teodord $
           49 */

           50public class FillServlet extends HttpServlet
           51{
           52
           53
           54    /**
           55     *
           56     */

           57    public void service(
           58        HttpServletRequest request,
           59        HttpServletResponse response
           60        ) throws IOException, ServletException
           61    {
           62        ServletContext context = this.getServletConfig().getServletContext();
           63
           64        response.setContentType("text/html");
           65        PrintWriter out = response.getWriter();
           66
           67        try
           68        {
           69            String reportFileName = context.getRealPath("/reports/WebappReport.jasper");
           70            File reportFile = new File(reportFileName);
           71            if (!reportFile.exists())
           72                throw new JRRuntimeException("File WebappReport.jasper not found. The report design must be compiled first.");
           73
           74            Map parameters = new HashMap();
           75            parameters.put("ReportTitle""Address Report");
           76            parameters.put("BaseDir", reportFile.getParentFile());
           77                        
           78            JasperPrint jasperPrint = 
           79                JasperFillManager.fillReport(
           80                    reportFileName, 
           81                    parameters, 
           82                    new WebappDataSource()
           83                    );
           84                        
           85            request.getSession().setAttribute(BaseHttpServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, jasperPrint);
           86        }

           87        catch (JRException e)
           88        {
           89            out.println("<html>");
           90            out.println("<head>");
           91            out.println("<title>JasperReports - Web Application Sample</title>");
           92            out.println("<link rel=\"stylesheet\" type=\"text/css\" href=\"../stylesheet.css\" title=\"Style\">");
           93            out.println("</head>");
           94            
           95            out.println("<body bgcolor=\"white\">");
           96
           97            out.println("<span class=\"bnew\">JasperReports encountered this error :</span>");
           98            out.println("<pre>");
           99
          100            e.printStackTrace(out);
          101
          102            out.println("</pre>");
          103
          104            out.println("</body>");
          105            out.println("</html>");
          106        }

          107
          108        out.println("<html>");
          109        out.println("<head>");
          110        out.println("<title>JasperReports - Web Application Sample</title>");
          111        out.println("<link rel=\"stylesheet\" type=\"text/css\" href=\"../stylesheet.css\" title=\"Style\">");
          112        out.println("</head>");
          113        
          114        out.println("<body bgcolor=\"white\">");
          115
          116        out.println("<span class=\"bold\">The compiled report design was successfully filled with data.</span>");
          117
          118        out.println("</body>");
          119        out.println("</html>");
          120    }

          121
          122
          123}

          124




          posted on 2013-10-15 15:38 lanjh 閱讀(565) 評(píng)論(0)  編輯  收藏 所屬分類: 報(bào)表

          主站蜘蛛池模板: 额济纳旗| 酒泉市| 根河市| 眉山市| 宁都县| 大余县| 永修县| 游戏| 互助| 莆田市| 会昌县| 鄂伦春自治旗| 彭泽县| 根河市| 香格里拉县| 伊宁市| 锦州市| 全州县| 华蓥市| 高邮市| 汽车| 钦州市| 泾源县| 阆中市| 通化县| 广宁县| 武川县| 隆回县| 亳州市| 镇远县| 休宁县| 澄城县| 乐亭县| 邵武市| 得荣县| 万载县| 曲阜市| 苍溪县| 贞丰县| 微山县| 临江市|