📄 rtfservlet.java
字号:
/* * ============================================================================ * GNU Lesser General Public License * ============================================================================ * * JasperReports - Free Java report-generating library. * Copyright (C) 2001-2006 JasperSoft Corporation http://www.jaspersoft.com * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * JasperSoft Corporation * 303 Second Street, Suite 450 North * San Francisco, CA 94107 * http://www.jaspersoft.com */package cn.edu.hlju.oa.kygl.print;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.OutputStream;import java.util.List;import javax.servlet.ServletException;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import net.sf.jasperreports.engine.JRException;import net.sf.jasperreports.engine.JRExporterParameter;import net.sf.jasperreports.engine.export.JRRtfExporter;import net.sf.jasperreports.j2ee.servlets.BaseHttpServlet;/** * @author Ionut Nedelcu (ionutned@users.sourceforge.net) * @version $Id: RtfServlet.java,v 1.5 2006/04/19 10:17:34 teodord Exp $ */public class RtfServlet extends BaseHttpServlet{ /** * */ public void service( HttpServletRequest request, HttpServletResponse response ) throws IOException, ServletException { List jasperPrintList = BaseHttpServlet.getJasperPrintList(request); if (jasperPrintList == null) { return; //throw new ServletException("No JasperPrint documents found on the HTTP session."); } Boolean isBuffered = Boolean.valueOf(request.getParameter(BaseHttpServlet.BUFFERED_OUTPUT_REQUEST_PARAMETER)); if (isBuffered.booleanValue()) { JRRtfExporter exporter = new JRRtfExporter(); exporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperPrintList); ByteArrayOutputStream baos = new ByteArrayOutputStream(); exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, baos); try { exporter.exportReport(); } catch (JRException e) { throw new ServletException(e); } byte[] bytes = baos.toByteArray(); if (bytes != null && bytes.length > 0) { response.setContentType("application/rtf"); response.setHeader("Content-Disposition", "inline; filename=\"file.rtf\""); response.setContentLength(bytes.length); ServletOutputStream ouputStream = response.getOutputStream(); try { ouputStream.write(bytes, 0, bytes.length); ouputStream.flush(); } finally { if (ouputStream != null) { try { ouputStream.close(); } catch (IOException ex) { } } } }// else// {// response.setContentType("text/html");// PrintWriter out = response.getWriter();// out.println("<html>");// out.println("<body bgcolor=\"white\">");// out.println("<span class=\"bold\">Empty response.</span>");// out.println("</body>");// out.println("</html>");// } } else { response.setContentType("application/rtf"); response.setHeader("Content-Disposition", "inline; filename=\"file.rtf\""); JRRtfExporter exporter = new JRRtfExporter(); exporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperPrintList); OutputStream ouputStream = response.getOutputStream(); exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, ouputStream); try { exporter.exportReport(); } catch (JRException e) { throw new ServletException(e); } finally { if (ouputStream != null) { try { ouputStream.close(); } catch (IOException ex) { } } } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -