我需要在一个在新浏览器窗口中打开pdf文件的页面中呈现一个简单的链接。 我写了以下标签:
<h:commandLink target="_blank"
action="showPDF"
title="Show attached PDF"
actionListener="#{bean.doShowPDF}"
value="Show PDF">
<f:attribute name="path" value="#{bean.pdfPath}" />
</h:commandLink>
目标属性似乎被忽略了。目标页面显示在当前页面上。
我试过h:outputLink:
<h:outputLink target="_blank"
title="Show attached PDF"
value="/visAttached.jspx">
<f:param name="path" value="#{bean.pdfPath}" />
Show PDF
</h:outputLink>
但结果相同。在这两种情况下,生成的html都没有目标属性。
我的错在哪里? JSF中有一个更好的策略来在新的浏览器窗口中显示文件吗?
答案 0 :(得分:2)
试用它们的ice:
版本:ice:outputLink或ice:commandLink。 component showcase显示了一个工作示例(布局面板/可折叠面板有很多链接,检查源代码):
<ice:outputLink target="_blank" styleClass="navPnlClpsblLnks"
value="http://icefaces.org/main/home/index.jsp">
<ice:outputText id="icefacesOrgLink" value="ICEfaces.org"/>
</ice:outputLink>