`
moonsee
  • 浏览: 135489 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

displaytag 中的 导出pdf 功能的改造

阅读更多
一、中文问题:
   目前网上谈到较多的是一种方法,且多为转载;对其源代码进行分析后进行了另一种改造;具体如下:

displaytag-1.1\displaytag\src\main\java\org\displaytag\render\ItextTableWriter.java
ItextTableWriter:
--
private Font getFont(float size, int style, Color color) {
Font font = null;
try {
font = new Font(BaseFont.createFont("STSong-Light"/* "Helvetica" */,
"UniGB-UCS2-H"/* BaseFont.WINANSI */, false), size, style,
color);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (font == null) {
font = FontFactory.getFont(FontFactory.HELVETICA, size, style,
color);
}
}

return font;
}

更改所有的getFont方法使用上边的getFont方法,以下仅为其中一例
       protected Font getTableFont() {
return getFont(10, Font.NORMAL, new Color(0x00, 0x00, 0x00));
}
这样更改后,导出的报表标题和footer都是中文了。


二、添加二级标题或者是报表头功能
(1)在displaytag-12.tld中添加以下代码
    <tag>
<name>header</name>
    <tag-class>org.displaytag.tags.TableHeaderTag</tag-class>
   <body-content>JSP</body-content>
      <display-name>header</display-name>
   <description>
      Tag which should be nested into a table tag to provide extra header row(s). The body of the tag will be inserted
      before the automatically-generated header row, within the thead tag.
    </description>
   <attribute>
     <name>media</name>
     <required>false</required>
    <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
     <description>
        Use this attribute to keep a header from being output during an export. The caption will only render for the
        named media type(s) - it won't be added to the table if the current request media is not supported. Can be any
       space separated combination of 'html', 'csv', 'xml', 'all', or 'excel'. Defaults to 'all'. See the export page
       in the example webapp for more details.
     </description>
         </attribute>
    <example>
     <![CDATA[
<display:table name="someList" varTotals="totals">
  <display:column property="itemName"/>
  <display:column property="price" total="true"/>
  <display:header>
    <tr>
      <td>Total Bill:</td>
      <td><c:out value="${totals.column2}" /></td>
    <tr>
  </display:header>
</display:table>
]]>
    </example>
</tag>
(2)在display中添加相应代码
<1>添加src/main/java/org/displaytag/tags/TableHeaderTag.java类。
<2>src/main/java/org/displaytag/model/TableModel.java修改 :
   添加private String header属性,并生成set、get方法;
   在toString()增加.append("header", this.header) //$NON-NLS-1;
<3>src/main/java/org/displaytag/render/HtmlTableWriter.java
if (model.getHeader() != null) {
         write(model.getHeader());
     }

<4>src/main/java/org/displaytag/tags/TableTag.java
  添加private String header属性,并生成set、get方法;
  置空方法中添加this.header = null;
分享到:
评论

相关推荐

    displaytag详细用法(中文问题已解决)

    6. **导出功能**:DisplayTag提供导出数据到CSV、Excel、PDF等多种格式的能力,这对于数据分析和报告生成非常有用。通过`export`属性可以开启或关闭特定格式的导出。 7. **分页**:DisplayTag的分页功能是自动的,...

    displaytag中文排序问题解决办法

    它提供了许多高级功能,如分页、排序、导出等。然而,在处理中文排序时,DisplayTag可能会遇到问题,因为默认的排序算法可能不支持汉字的正确排序。这个问题通常涉及到字符编码和Unicode排序规则。 解决DisplayTag...

    解决中文乱码的displaytag-1.2.jar

    针对displaytag Excel导出中文乱码的情况,对其添加gbk编码,使其能顺利将中文导出excel

    displaytag 插件 中文提示

    4. **导出功能**:通过与Apache POI库的集成(如displaytag-export-poi-1.1.jar所示),Displaytag 能够将表格数据导出为Excel、PDF、CSV等多种格式,方便用户进一步处理或打印。 5. **模板化**:Displaytag 允许...

    DisplayTag1.2 扩展(自定义分页、排序、导出、页面导航)

    DisplayTag是个很好的jsp标签,目前最新版本为1.2,支持了自定义分页,解决了之前版本每次查询都把全部数据查出的低效率做法。但是DisplayTag默认是通过url传参,以及分页导航不灵活给人们带来了不少麻烦。鉴于此...

    displaytag-1.1 源码

    4. `displaytag-portlet`: 这可能是Displaytag针对portlet环境(如Liferay、Portal Server等)的实现,使得在portlet中也能方便地使用Displaytag的功能,比如在企业级应用中提供灵活的数据展示。 5. `displaytag-...

    displaytag简单项目

    6. **导出功能**:可以将表格数据导出为CSV、Excel、PDF等格式,便于数据分析或打印。 在这个"displaytag简单项目"中,你可能需要关注以下几个关键点: 1. **配置DisplayTag**:在项目的web.xml中,你需要配置...

    displaytag1.1.1配套所需要的包

    DisplayTag是Java Web开发中的一款开源表格标签库,它提供了丰富的表格展示功能,如分页、排序、导出等。DisplayTag 1.1.1是该库的一个版本,但仅仅下载这个jar文件还不够,因为它依赖于一些其他的库来正常工作。...

    displaytag-export-poi-1.2.jar

    总的来说,Displaytag结合Apache POI提供的Excel导出功能,为Web开发者提供了一个高效、灵活的方式来处理和导出表格数据,极大地简化了在Java Web应用中实现Excel导出的复杂性。通过了解和掌握Displaytag的使用,...

    displaytag及使用方法

    DisplayTag是一个开源的Java库,专门用于在Web应用程序中创建复杂的表格。它提供了一系列的标签和功能,使得在JSP页面上展示数据变得更加容易和灵活。DisplayTag支持分页、排序、导出、国际化和自定义样式,是开发...

    DisplayTag中文帮助文档

    很全面的DisplayTag中文帮助文档,对了解和使用该标签有很大的帮助

    displayTag导出excecl二次开发包

    displayTag导出excecl二次开发包中文乱码问题解决,运用第三方中间间开发的资源包,具本配置过程参见,...

    displaytag有用的包

    这8个JAR文件组合起来,足以实现DisplayTag的基本功能,包括创建动态表格、分页、排序以及导出为Excel和PDF格式。开发者可以根据实际需求,根据缺少的其他5个JAR文件的功能,决定是否需要额外添加。 使用DisplayTag...

    displayTag1.2

    6. **导出功能**:DisplayTag支持将表格数据导出为CSV、Excel、PDF等多种格式,方便数据处理和分析。 7. **扩展性**:通过使用自定义的标签和过滤器,可以轻松扩展其功能以满足特定需求。 8. **易用性**:...

    displaytag-1.1.1-execle@cvs导出中文乱码问题解决.jar

    displaytag-1.1.1-execle@cvs导出中文乱码问题解决.jar

    使用那个displaytag元件所需用的jar包

    9. **导出功能**:DisplayTag支持将表格数据导出为CSV、Excel、PDF等多种格式,这对于数据分析和报表生成非常有用。 10. **样式和模板**:DisplayTag允许开发者自定义表格的CSS样式,提供了多种预设样式,也可以...

    Displaytag实现分页

    - 如果需要导出功能(例如 PDF 或 Excel),还需要导入其他扩展库,如 `displaytag-export-poi.jar`,以及 Displaytag 依赖的其他库,如 `commons-logging`, `commons-lang`, `commons-collections`, `commons-...

    displaytag标签的使用

    DisplayTag 的强大之处在于它提供了一套完整的解决方案,包括对表格数据的排序、过滤、分页以及导出等功能。开发者可以根据需要自定义样式和行为,以满足各种复杂的表格展示需求。例如,可以设置列的排序方式、宽度...

    displaytag简单实例

    4. **下载功能**:DisplayTag支持导出表格数据到各种格式,如CSV、Excel或PDF,使得用户可以方便地保存和共享数据。 5. **国际化与本地化**:DisplayTag支持多种语言,可以根据用户浏览器的设置自动调整标签的文本...

    displaytag 中文包

    前些天在DISPLAYTAG官网下载了一个displaytag包,发现不支持中文导出,分页等说明文字也是英文的,现在把它改成中文的了,感觉还不错!省了自己写分页和导出数据包了.

Global site tag (gtag.js) - Google Analytics