2010-07-14 225 views
1

我想使用iText创建PDF。这样做的方法是一个JSF bean。我想要的是,单击JSF页面中的commandButton,即可创建PDF。然后它必须在新窗口(或选项卡)中弹出,保持JSF页面不变。我怎样才能做到这一点?我知道JavaScript中有一种方法,我们可以使用window.open()打开一个新窗口,但是我想从JSF bean访问列表以创建pdf。 谢谢。获取使用iText创建的PDF在JSF中弹出

回答

1

target="_blank"属性添加到<h:form>,它将提交到一个新的选项卡/窗口。

+0

感谢您的快速回复。你能解释一下吗?当你给target =“_ blank”时,点击commandbutton,它会调用JSF bean并创建PDF(以Byte Array的形式)。如何使用此字节数组来显示(如outputStream)? – Prabhat 2010-07-14 12:11:23

+0

我以为你已经有这部分工作?到了这一点,您只需将字节连同正确的标题集一起传输到响应主体。无论如何,4年前,我曾经写过一篇面向JSF的博客,但它仍然适用:http://balusc.blogspot.com/2006/05/pdf-handling.html – BalusC 2010-07-14 12:19:32

+0

嘿非常感谢您的链接!大帮助:) – Prabhat 2010-07-14 12:32:48

0

您可以用映射到servlet的<a href="pathToPdfServlet" target="_blank">PDF</a>替换命令按钮。这个servlet将响应内容类型设置为application/pdf,调用iText并将PDF写入输出流。

+0

感谢您的快速回复。但是,这种方法存在两个问题。 1.它必须是commandButton(要求) 2.如何访问servlet中的JSF bean数据? – Prabhat 2010-07-14 12:14:49