首先你应该知道我是jsf的web应用程序开发的新手,所以如果我要求做坏事,请纠正我。
我需要开发一个表格来显示pdf文件的描述,并在一个对话框中显示一个按钮(重要的是不能下载,复制或打印这个文件)。我已经用尽了所有的可能性,但是当显示对话框时,文档没有显示,这是我的代码:
<h:body> <ui:composition template="/template/plantilla.xhtml"> <ui:define name="content">
<h:form id="frmpdf">
<div align="center"><h:outputText value="Docs .PDF" style="font-weight: bold;"/>
</div> <p:dataTable id="dtdpdf"
var="dpdf"
value="#{documentosPdfBean.listdocpdf}" >
<p:column headerText="Descrip" style="width: 90%;">
<h:outputText value="#{dpdf.sgTfd_descripcion}" />
</p:column>
<p:column headerText="Open">
<p:commandButton value="open"
oncomplete="PF('dlg3').show();"
update="frmpdf:dlgpdf" />
</p:column>
</p:dataTable> <p:dialog id="dlgpdf" header="document" widgetVar="dlg3" showEffect="explode" height="100" dynamic="true">
<p:media value="/resources/document/manual.pdf" width="100%" height="300px"/>
</p:dialog>
</h:form>
</ui:define>
</ui:composition>
</h:body>
我也用过:
<p:commandLink title="manual" onclick="PF('dlg3').show()" />
以上内容考虑到这一点post
答案 0 :(得分:0)
经过更多的研究,我设法用标签解决了我的问题 允许在触发此事件时从bean建立值,我将代码保留为解决方案:
<f:view>
<h:head>
<title>Page</title>
<script type="text/javascript" src="/js/keyboard.js" charset="UTF-8"></script>
<link rel="stylesheet" type="/text/css" href="/js/keyboard.css" />
</h:head>
<h:body>
<ui:composition template="/template/plantilla.xhtml">
<ui:define name="content">
<h:form id="frmpdf">
<f:event listener="#{documentPdfBean.onPrerender}" type="preRenderView" />
<div align="center">
<h:outputText value="Docs. PDF" style="font-weight: bold;" />
</div>
<p:dataTable id="dtdpdf" var="dpdf" value="#{documentPdfBean.listdocpdf}" >
<p:column headerText="Descrip" style="width: 90%;">
<h:outputText value="#{dpdf.sgTfd_descripcion}" />
</p:column>
<p:column headerText="open">
<p:commandLink styleClass="fa fa-file-pdf-o" onclick="PF('dlgpdf').show()"
update="frmpdf:pdfvisualizer" style="width: 10px; font-size: 20px; margin-left: 24%;">
<f:setPropertyActionListener target="#{documentPdfBean.ruta}" value="#{dpdf.sgTfd_valor}" />
</p:commandLink>
</p:column>
</p:dataTable>
<p:dialog widgetVar="dlgpdf" height="700" width="750" header="pdf" maximizable="true" minimizable="true"
resizable="false" dynamic="true" showEffect="clip">
<pe:documentViewer height="700" id="pdfvisualizer" value="#{documentPdfBean.ruta}" />
</p:dialog>
</h:form>
</ui:define>
</ui:composition>
</h:body> </f:view>
bean
private String ruta;
public String getRuta() {
return ruta;
}
public void setRuta(String ruta) {
this.ruta = ruta;
}