<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    幸せのちから

    平凡的世界
    看似平常實崎嶇
    成如容易卻艱辛

    Chapter 7. ExportTag

    Chapter 7. ExportTag

    7.1. 引言

    eXtremeTable具有導出不同格式文件的功能,導出的數據為過濾和排序后的所有結果集, 分頁不會影響返回的結果集。換句話說,如果表數據分多頁顯示,那么所有頁的數據都將被導出。 導出的格式為Microsoft Excel (OpenOffice Calc)、PDF和CSV。

    使用ExportXlsTag導出Microsoft Excel (OpenOffice Calc):

    <ec:table
    items="presidents"
    action="${pageContext.request.contextPath}/presidents.run"
    />
    <ec:exportXls
    fileName="presidents.xls"
    tooltip="Export Excel"/>
    ...
    </ec:table>

    使用ExportPdfTag導出PDF。所有要做的就是指定fileName屬性和一些樣式屬性:

    <ec:table
    items="presidents"
    action="${pageContext.request.contextPath}/presidents.run"
    />
    <ec:exportPdf
    fileName="presidents.pdf"
    tooltip="Export PDF"
    headerColor="blue"
    headerBackgroundColor="red"
    headerTitle="Presidents"/>
    ...
    </ec:table>

    使用ExportCsvTag導出CSV。當使用CSV導出是默認的分隔符為‘,’(comma)。你可以使用 delimiter屬性來指定為其他的符號。下面為指定‘|’(pipe)為CSV分隔符的示例:

    <ec:table
    items="presidents"
    action="${pageContext.request.contextPath}/presidents.run"
    />
    <ec:exportCsv
    fileName="presidents.txt"
    tooltip="Export CSV"
    delimiter="|"/>
    ...
    </ec:table>

    你可以通過指定view屬性來導出其他文件格式。eXtremeTable視圖實現View接口并是 可插接的。參閱View章了解更多信息。

    7.2. 擴展屬性

    大多數標簽包含一系列的固定屬性,這樣那些已經實現的功能能夠被使用。然而,eXtremeTable具有一種更具彈性的架構, 你可以添加自己的標簽屬性實現更多的定制工作。此外,eXtremeTable提供了非常清晰的鉤子(hooks)允許你得到那些定制的 標簽屬性來做一些你需要的工作。

    通過addExtendedAttributes()方法將擴展屬性包含到eXtremeTable里:

    public void addExtendedAttributes(Export export);

    如果方法被覆蓋ExportTag將調用它。你需要做的就是擴展ExportTag,覆蓋addExtendedAttributes()方法,然后添加自己 的屬性到導出對象中。

    一個定制的ExportCsvTag示例如下:

    public class ExportCsvTag extends ExportTag {
    private String delimiter;

    public String getDelimiter() {
    return delimiter;
    }

    public void setDelimiter(String delimiter) {
    this.delimiter = delimiter;
    }

    public void addExtendedAttributes(Export export) {
    String view = export.getView();
    if (StringUtils.isBlank(view)) {
    export.setView(TableConstants.VIEW_CSV);
    export.setImageName(TableConstants.VIEW_CSV);
    }
    export.addAttribute(CsvView.DELIMITER, getDelimiter());
    }
    }

    現在你添加了屬性值到Export對象,下面是CsvView實現的一部分:

    public class CsvView implements View {
    public void body(TableModel model, Column column) {
    Export export = model.getExportHandler().getCurrentExport();
    }
    }

    另外,你也可以定制自己的標簽和自己的TLD文件。你不需要修改extremecomponents.tld文件。 你能象使用eXtremeTable里的標簽一樣使用自己的標簽,除了使用你自己標簽的參照。假如你的標簽參照為mycompany 并且標簽為customExport,你可以像下面一樣使用他們:

    <ec:table
    items="presidents"
    action="${pageContext.request.contextPath}/public/demo/presidents.jsp"
    title="Presidents"
    >
    <mycompany:customExport fileName="presidents.txt" delimiter="|"/>
    ...
    </ec:table>

    posted on 2006-02-27 14:28 Lucky 閱讀(615) 評論(0)  編輯  收藏 所屬分類: extremeComponents

    <2006年2月>
    2930311234
    567891011
    12131415161718
    19202122232425
    2627281234
    567891011

    導航

    隨筆分類(125)

    文章分類(5)

    日本語

    搜索

    積分與排名

    最新隨筆

    最新評論

    主站蜘蛛池模板: 亚洲AV无码一区二区三区系列| 精品亚洲成在人线AV无码| 99热在线观看免费| 亚洲一区欧洲一区| 国产成人精品日本亚洲专区 | 亚洲AV成人影视在线观看| 国产成人免费福利网站| 最近免费字幕中文大全| 自拍日韩亚洲一区在线| 亚洲一级特黄大片在线观看| 最近中文字幕免费mv在线视频| 亚洲成a人无码亚洲成www牛牛| 亚洲国产婷婷六月丁香| 四虎免费在线观看| 久久精品一区二区免费看| 九九精品国产亚洲AV日韩| 午夜亚洲AV日韩AV无码大全| 精品国产免费一区二区| 黄色片免费在线观看| 亚洲av日韩综合一区二区三区| 亚洲伊人tv综合网色| 亚洲国产精品自在拍在线播放| 人与禽交免费网站视频| 亚洲AV无码国产在丝袜线观看| 四虎成人免费网站在线| 91精品手机国产免费| 成人福利在线观看免费视频| 亚洲91精品麻豆国产系列在线| 亚洲精品偷拍视频免费观看 | 特级毛片A级毛片免费播放| 免费v片在线观看品善网| 无码国产精品一区二区免费式影视| 精品亚洲成A人无码成A在线观看| 久久久无码精品亚洲日韩软件| aa级一级天堂片免费观看| 少妇人妻偷人精品免费视频| h片在线观看免费| 男男黄GAY片免费网站WWW| 亚洲日韩一区二区三区| 亚洲制服在线观看| 久久久久亚洲AV片无码下载蜜桃|