PrimeFaces复合组件:commandLink不适用于dataTable

时间:2014-07-29 14:07:26

标签: jsf jsf-2 primefaces

”        

<cc:implementation>
<p:outputLabel value="#{cc}"/>
<p>  <p:commandButton value="Vedi lista file" actionListener="#{cc.researchFileInDirectory}" update="panelFileLog"/></p>  

<h:panelGrid id="panelFileLog">

    <p:dataTable var="file" rendered="#{cc.viewFileList}" binding="#{cc.listaFile}">
        <p:column headerText="File" style="width:100px">
            <h:outputText value="#{file.toString()}" />
        </p:column>

        <p:column headerText="Link" style="width:100px">        
            <p:commandLink id="downloadLink" value="download" ajax="false" actionListener="cc.downloadFile">
                <p:fileDownload value="#{cc.file}" />
            </p:commandLink>
        </p:column>

</p:dataTable>

</h:panelGrid>
</cc:implementation>'

此页面中会调用此组件

  <l:logFile />

它会加载文件列表,但是当我点击commandLink时,它不会调用actionListener方法,而是将我重定向到同一页面。

1 个答案:

答案 0 :(得分:1)

使用StreamedContent的每个组件在复合组件中都不起作用。有关详细说明,请阅读http://jsfcorner.blogspot.be/2012/11/advanced-primefaces-graphic-image.html。由于<p:fileDownload/>是其中之一,因此您无法使用它。