📄 defaultitextexportview.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 + -