我有一个可编辑的
和
,我想使用
将该表的内容导出为PDF格式。
我已经包含了itext 2.1.7 JAR。我得到了PDF格式的输出,但它显示了所有
组件的对象#ToString()
值,如下所示:
org.primefaces.component.celleditor.CellEditor@1bd59e1
如何导出
的输出值?
PrimeFaces标准数据导出程序确实无法识别
。我之前在第4013期向PF人员报告了这一点,其中有一个示例,不仅提到了celleditor
,而且还提到了HTMLGraphicImage
(我们使用图像来显示布尔状态,我们希望在PDF/XML/XLS/CSV报告中显示其Alt
)。
首先,创建一个扩展标准pdfexporter
的新类,如下所示:
public class ExtendedPDFExporter extends PDFExporter {
@Override
protected String exportValue(FacesContext context, UIComponent component) {
if (component instanceof CellEditor) {
return exportValue(context, ((CellEditor) component).getFacet("output"));
}
else if (component instanceof HtmlGraphicImage) {
return (String) component.getAttributes().get("alt");
}
else {
return super.exportValue(context, component);
}
}
}
然后,要使用它,以编程方式调用它,而不是通过
。
<p:dataTable binding="#{table}" editable="true" ...>
<p:column><p:cellEditor>...</p:cellEditor></p:column>
<p:column><p:cellEditor>...</p:cellEditor></p:column>
<p:column><p:cellEditor>...</p:cellEditor></p:column>
<p:column exportable="false"><p:rowEditor /></p:column>
</p:dataTable>
<h:commandLink value="PDF" action="#{bean.exportPDF(table, 'filename')}" />
public void exportPDF(DataTable table, String filename) throws IOException {
FacesContext context = FacesContext.getCurrentInstance();
Exporter exporter = new ExtendedPDFExporter();
exporter.export(context, table, filename, false, false, "UTF-8", null, null);
context.responseComplete();
}
我有以下序列
我不确定这是否是一个与我没有这台计算机的管理权限有关的问题。任何帮助,以便我可以进一步排除故障,将非常感谢! 谢谢
问题内容: 我使用,当我得到 我删除了构建路径,然后又做了 ,仍然是同样的错误。 问题答案: 该代码不是Java SE的一部分,因此这些类将不在JRE中。您需要找到并下载包含这些类的JAR文件,然后将其添加到Eclipse构建路径中。 (可以在此处下载JAR的一个地方,但是如果此链接中断,可以轻松进行自己的搜索。请转到Maven Central或findjar。)
问题内容: 我有一个jimfs(内存文件系统中的Google)从字节数组中创建的zip文件。当尝试使用打开该文件时,出现错误,提示无法识别该提供程序。我的代码如下: URI类似于:。 堆栈跟踪为: jimfs未与一起列出。它位于分别与 for 相比的单独的类加载器中。 提供者的打印如下: 我尝试基于jimfs ClassLoaderTest示例手动设置类加载器,但没有成功。我在Linux上运行。
问题内容: 有时,我会在页面上寻找可能存在或不存在的元素。我想用/尝试/捕获这种情况,当某些HTML元素不存在时,selenium会抛出该异常。原始例外: 具有讽刺意味的是,它不会让我捕捉到之前抛出的异常吗?代码在这里: 错误在这里: 谷歌搜索/文档整理一无所获…让我感到奇怪的是,selenium可以引发异常但不能捕获它。 问题答案: 您需要先导入异常 然后你可以参考它
问题内容: 我的Java代码有问题。我正在尝试加密文件。但是,当我运行Java代码时,我得到“ java.security.InvalidKeyException:无效的AES密钥长度:162个字节”。 这是代码: 该错误发生在“ KeyPairGenerator keyGen = KeyPairGenerator.getInstance(“ AES”);“行。 问题答案: AES是一种对称算法,