p:dataExporter抛出java.lang.NoClassDefFoundError:com / lowagie / text / phrase

时间:2012-06-05 14:38:09

标签: jsf primefaces itext

我尝试使用primefaces 3.2的数据导出器控件。以下是代码:

<p:commandLink value="export" ajax="false">
        <p:dataExporter type="xls" target="dtable" fileName="myfile" />  
    </p:commandLink>
<p:datatable id="dtable" ........../>

当我点击导出链接时,出现以下错误:

java.lang.NoClassDefFoundError: com/lowagie/text/phrase

我下载了itext jar 5.2.1并将其包含在我的应用程序中,但我仍然得到同样的错误。 我该如何解决?

4 个答案:

答案 0 :(得分:17)

尝试iText 2.1.7而不是5.2.1。 http://olex.openlogic.com/packages/itext/2.1.7

我认为存在许可证冲突。所以primefaces使用2.1.7

对于Excel Export,您需要Apache POI。 尝试3.7:http://archive.apache.org/dist/poi/release/bin/

修改

(您只需要poi-3.7*.jarpoi-ooxml-3.7*.jar

答案 1 :(得分:0)

转到netbeans,在项目依赖项上添加新的依赖项。键入查询类型iText 2.1.7然后选择com.lowagie:itext。你应该可以用dpf下载 :d

答案 2 :(得分:-1)

只需添加以下依赖项

即可
return jsonify([record[("product_title","product_details")] for record in result])

答案 3 :(得分:-2)

我遇到了同样的问题,但是当我下载这些罐子时,它并没有起作用。 然后我注意到我正在使用<p:commandLink>,正确的是使用<h:commandLink>由于某种原因<p:commandLink>无法工作。

不要使用:

<p:commandLink > <p:graphicImage value="images/excel.png" width="48"/> <p:dataExporter type="xls" target="table" fileName="tablexls" encoding="UTF-8" /> </p:commandLink>

改为使用:

<h:commandLink > <p:graphicImage value="images/custom/excel.png" width="48"/> <p:dataExporter type="xls" target="table" fileName="tablexls" encoding="UTF-8" /> </h:commandLink>