我有一个命令按钮,它将调用一个函数来下载文件(标准内容,例如InputStream,BufferedOutputStream...) 下载成功后,在函数末尾,我更改当前对象的一些值并将其保存到数据库中。所有这些都可以正常工作。现在,当文件下载完成时,页面内容不会更新。我必须点击刷新才能看到更新的内容。请帮忙。以下是我的代码的基本结构
document:托管 Bean
getDrawings():方法返回绘图(实体类)列表
CheckedOutBy:实体的属性Drawing
<p:dataTable id="drawing_table" value="#{document.drawings}" var="item" >
<p:column>
<f:facet name="header">
<h:outputText value="CheckedOutBy"/>
</f:facet>
<h:outputText value="#{item.checkedOutBy}"/>
...
</p:dataTable>
<p:commandButton ajax="false" action="#{document.Download}" value="Download" />
Run Code Online (Sandbox Code Playgroud)
在我的托管 Bean 中
public void Download(){
Drawing drawing = getCurrentDrawing();
//Download drawing
drawing.setCheckedOutBy("Some Text");
sBean.merge(drawing); //Update "Some Text" into CheckedOutBy field
}
Run Code Online (Sandbox Code Playgroud)