2016-11-18 21 views
0

Прежде всего, вы должны знать, что я новичок в разработке веб-приложений с помощью jsf, поэтому, если я попрошу о плохих вещах, пожалуйста, поправьте меня.use p: media или p: documentViewer with p: dialog dynamic

Мне нужно разработать таблицу, которая показывает описание файла 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()" /> 

result

Вышеупомянутое разработано с учетом этого post

ответ

0

После проведения дополнительных исследований мне удалось решить мою проблему с тегом , что позволяет установить значение из фасоли, когда это событие происходит, я оставить код с раствором:

<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> 

фасоли

private String ruta; 

public String getRuta() { 
    return ruta; 
} 

public void setRuta(String ruta) { 
    this.ruta = ruta; 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^