已编辑
我想在Primefaces中替换另一个按钮
我有一个结帐部分,它下载一个文件,然后在下载后,必须用可以上传文件的签入按钮替换。在上传后,签到按钮会转换回结帐按钮。
警告我认为问题可能与
有关JS function not triggered with PrimeFaces.monitorDownload
我有两个问题:
1)我必须在点击下载按钮后手动刷新浏览器,以便将其转换为上传按钮
2)我不知道如何调用将上传按钮转换回上传按钮的方法
XHTML代码是:
<h:panelGrid id="panel">
<p:panel id="checkoutPanel" rendered="#{myBean.checkout}" >
<p:commandButton value="Checkout" ajax="false" onclick="PrimeFaces.monitorDownload(start, stop) update="panel" actionListener="#{myBean.checkinTurn}">
<p:fileDownload value="#{fileDownloadController.downloadFile(myBean.File)}" actionListener="#{editUDBean.checkinTurn}"/>
</p:commandButton>
</p:panel>
<p:remoteCommand name="stop" update="checkinPanel">
</p:remoteCommand>
<p:panel id="checkinPanel" rendered="#{editUDBean.checkin}">
<h:outputLabel value="Checkin"/>
<h:outputLabel value="#{editUDBean.checkin}"/>
<p:fileUpload label="Checkin" fileUploadListener="#{fileUploadController.handleFileUpload}" mode="advanced" allowTypes="/(\.|\/)(xml|XML)$/" auto="true" />
</p:panel>
</h:panelGrid>
@ManagedBean(name="fileDownloadController", eager = true)
@SessionScoped
public class FileDownloadController implements Serializable{
private boolean checkout = false;
public boolean isCheckout() {
return checkout;
}
public void setCheckout(boolean checkout) {
this.checkout = checkout;
}
public StreamedContent downloadFile(File file) {
checkout = true;
...
}
}
任何提示?