2013-11-02 39 views
0

井中移出一個UploadedFile的,我在ManagedBean創造了一個「行動」將圖片添加到列表中,波紋管看我的行動:從一個List <UploadedFile的>

public void novaFoto(FileUploadEvent event) { 
     uploadsFotos.add(event.getFile()); 
    } 

現在,我必須做到以下幾點:當用戶點擊一個按鈕(「刪除圖片」)我必須從列表中刪除這張圖片,但是如何獲得UploadedFile如果這不是一個FileUploadEvent,只是一個普通的ActionEvent?

我IDEIA是這樣的(但我怎麼能傳遞一個FileUploadEvent我是否會觸發與一個命令這個動作):

public void removerFoto(FileUploadEvent event) { 
     for(UploadedFile up : uploadsFotos){ 
      if (up.getFileName().equals(event.getFile().getFileName())) 
       uploadsFotos.remove(up); 
     } 
    } 

回答

0

這取決於你想如何呈現列表中的一個位用戶。

如果您使用數據表,您可以使用迭代var來處理您的刪除操作。這裏有一個例子:

<h:dataTable value="#{fileBean.files}" var="file" id="files">       
     <h:column> 
      <h:inputText value="#{file.name}"/> 

      <h:commandButton value="delete" action="#{fileBean.delete(file)}"> 
          <f:ajax render="@form"/> 
      </h:commandButton> 
     </h:column> 
</h:dataTable> 

這在bean:

public void delete(UploadedFile file) { 
     files.remove(file); 
} 
相關問題