有人能解释如何覆盖Primefaces扩展的导出器吗。我想自定义PDFexporter。但不知道哪些文件必须保存在工作区和哪个路径中。我确实在resources文件夹下创建了一个META-INF文件夹,这个文件夹名为services。里面创建了一个名为的文件
org.primefaces.extensions.component.exporter.ExporterFactory
包含一行文本作为common.util.CustomExporter
,这是我想要使用的自定义导出器类的名称。
在那个类中,我扩展了exportValue()
方法,并编写了自己的代码。然而,当我试图生成PDF时,我得到了以下错误
HTTP Status 500 - org.primefaces.extensions.component.exporter.ExporterFactory: Provider common.util.CustomExporter could not be instantiated: java.lang.ClassCastException: Cannot cast common.util.CustomExporter to org.primefaces.extensions.component.exporter.ExporterFactory
所以,请解释一下我哪里出了问题,或者我错过了什么?
Primefaces扩展导出器允许您导出到pdf并自定义一些设置,但非常有限,只能使用默认值生成pdf给出itext。我和你遇到了同样的问题,我的解决方案是用pre和postProcessor方法处理pdf。查看此页面,也许可以帮助您:更改Primefaces 中的默认格式dataExporter
从我所看到的,它试图将youtExporter转换为ExporterFactory。您需要扩展ExportFactory,在类型为PDF的情况下,您可以在其中实例化自己的PDFExporter。