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