我正在尝试使用primefaces p:dataExporter编写一个简单的pdf导出功能。我的代码如下
我的开发环境是JSF-2.0,Primefaces-3.4.2,Eclips-JUNO,GlassFish
xhtml页面
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
>
<h:head>
<title>Pdf Export</title>
</h:head>
<h:body>
<h:form id="myForm" >
<p:dataTable id="tableId" var="car" value="#{tableBean.carsSmall}">
<p:column headerText="Model">
<h:outputText value="#{car.model}" />
</p:column>
<p:column headerText="Year">
<h:outputText value="#{car.year}" />
</p:column>
</p:dataTable>
<h:commandLink ajax="false" >
<p:graphicImage library="images" name="pdf.png" width="40" height="40" />
<p:dataExporter target="tableId" type="pdf" fileName="car"></p:dataExporter>
</h:commandLink>
</h:form>
</h:body>
</html>
我的dataTable正确填充没有问题但是当我点击导出时没有任何反应。控制台也不会给出任何消息。我在我的webapp库中保存了iTextpdf-5.4.0.jar和poi-3.2-FINAL.jar。我还需要在这做什么吗?请告诉我一些我缺少的东西?
修改-1
我尝试使用iTextpdd-2.1.7,如下面的评论所示,但仍然存在同样的问题,我无法导出为pdf。
当我点击导出时,控制台会给出如下警告消息。此警告消息是否在导出中产生任何问题
WARNING: PWC4011: Unable to set request character encoding to UTF-8 from context
/{project name}, because request parameters have already been read, or
ServletRequest.getReader() has already been called
修改-2
今天我在RAD-Wehsphere / iText 2.1.7中尝试了相同的代码,导出在该环境中运行良好。我能够在pdf文件中导出dataTable。在Eclips-JUNO,GlassFish环境中必定存在一些缺失。
TIA