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

📄 defaultitextexportview.java

📁 dispalytag的源码
💻 JAVA
字号:
/** * Licensed under the Artistic License; you may not use this file * except in compliance with the License. * You may obtain a copy of the License at * *      http://displaytag.sourceforge.net/license.html * * THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. */package org.displaytag.export;import java.io.OutputStream;import javax.servlet.jsp.JspException;import org.displaytag.Messages;import org.displaytag.exception.BaseNestableJspTagException;import org.displaytag.exception.SeverityEnum;import org.displaytag.model.TableModel;import org.displaytag.render.ItextTableWriter;import com.lowagie.text.Document;import com.lowagie.text.DocumentException;import com.lowagie.text.PageSize;import com.lowagie.text.Table;/** * Exporter using iText: subclasses export to any of the iText document types, such as PDF and RTF. * @author Jorge L. Barroso * @version $Revision$ ($Author$) */public abstract class DefaultItextExportView implements BinaryExportView{    /**     * TableModel to render.     */    private TableModel model;    /**     * @see org.displaytag.export.ExportView#setParameters(TableModel, boolean, boolean, boolean)     */    public void setParameters(TableModel tableModel, boolean exportFullList, boolean includeHeader,        boolean decorateValues)    {        this.model = tableModel;    }    /**     * @see org.displaytag.export.BaseExportView#getMimeType() Meant to be overwritten by subclasses.     * @return null     */    public String getMimeType()    {        return null;    }    /**     * @see org.displaytag.export.BinaryExportView#doExport(OutputStream)     */    public void doExport(OutputStream out) throws JspException    {        try        {            Document document = new Document(PageSize.A4.rotate(), 60, 60, 40, 40);            this.initItextWriter(document, out);            document.open();            Table table = new Table(this.model.getNumberOfColumns());            ItextTableWriter writer = new ItextTableWriter(table, document);            writer.writeTable(this.model, "-1");            document.add(table);            document.close();        }        catch (Exception e)        {            throw new ItextGenerationException(e);        }    }    /**     * Initializes the iText writer used by export view to write iText document, such as PDF or RTF iText writer.     * @param document The iText document to be written.     * @param out The output stream to which the document is written.     * @throws DocumentException If something goes wrong during initialization.     */    protected abstract void initItextWriter(Document document, OutputStream out) throws DocumentException;    /**     * Wraps iText-generated exceptions.     * @author Fabrizio Giustina     * @version $Revision$ ($Author$)     */    static class ItextGenerationException extends BaseNestableJspTagException    {        /**         * D1597A17A6.         */        private static final long serialVersionUID = 899149338534L;        /**         * Instantiate a new PdfGenerationException with a fixed message and the given cause.         * @param cause Previous exception         */        public ItextGenerationException(Throwable cause)        {            super(DefaultItextExportView.class, Messages.getString("DefaultItextExportView.errorexporting"), cause); //$NON-NLS-1$            this.initCause(cause);        }        /**         * @see org.displaytag.exception.BaseNestableJspTagException#getSeverity()         */        public SeverityEnum getSeverity()        {            return SeverityEnum.ERROR;        }    }}

⌨️ 快捷键说明

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