在主要面下用另一个按钮替换按钮

时间:2014-03-12 11:33:52

标签: java primefaces

已编辑

我想在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;
    ...
  }

}

任何提示?

0 个答案:

没有答案