File Datatable celleditor中的Primefaces文件下载不工作

File Datatable celleditor中的Primefaces文件下载不工作,file,primefaces,datatable,download,tablecelleditor,File,Primefaces,Datatable,Download,Tablecelleditor,我在Primefaces中有一个Datatable,带有一个celleditor,可以上传和下载文件。 文件上传正在工作。 文件下载不起作用,它只会重新加载页面。 当我将下载按钮直接放在p:列下时,下载工作正常。(因此,下载按钮在编辑模式下可见) 怎么了,有什么想法吗 以下是我的代码(简化): 这并不是一个真正的解决方案,但我在我的应用程序中遇到了同样的问题,并通过删除单元编辑器组件,并将其余组件的样式设置为并排显示(显示:内联块)来解决它,以提供一些看起来不错的东西 <p:column

我在Primefaces中有一个Datatable,带有一个celleditor,可以上传和下载文件。 文件上传正在工作。 文件下载不起作用,它只会重新加载页面。 当我将下载按钮直接放在p:列下时,下载工作正常。(因此,下载按钮在编辑模式下可见)

怎么了,有什么想法吗

以下是我的代码(简化):


这并不是一个真正的解决方案,但我在我的应用程序中遇到了同样的问题,并通过删除单元编辑器组件,并将其余组件的样式设置为并排显示(显示:内联块)来解决它,以提供一些看起来不错的东西

<p:column headerText="Header">
  <!-- Download Button at this position works -->
  <p:cellEditor>
    <f:facet name="output">
      <p:commandButton id="download" value="Download" ajax="false">
        <p:fileDownload value="#{bean.downloadFile}" />
      </p:commandButton>
    </f:facet>
    <f:facet name="input">
      <p:fileUpload fileUploadListener="#{bean.uploadFile}" label="upload" mode="advanced" auto="true" process="@this" />
    </f:facet>
  </p:cellEditor>
</p:column>
import java.io.InputStream;
import org.primefaces.model.DefaultStreamedContent;
import org.primefaces.model.StreamedContent;


public StreamedContent getDownloadFile() {
    final InputStream stream = FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream("/images/test.png");
    return new DefaultStreamedContent(stream, "image/png", "test.png");
}