0

さて、リストに写真を追加するためにManagedBeanに「アクション」を作成しました。次のアクションを見てください。

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

今、私は次のことをしなければなりません: ユーザーがボタン (「画像の削除」) をクリックすると、この画像をリストから削除する必要があります。

私のアイデアは次のようなものです(ただし、コマンドボタンでこのアクションをトリガーする場合、FileUploadEventを渡すにはどうすればよいですか):

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

1 に答える 1

0

これは、リストをユーザーにどのように表示するかによって少し異なります。

データテーブルを使用する場合、反復変数を使用して削除アクションを処理できます。次に例を示します。

<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>

そして、これはあなたの豆で:

public void delete(UploadedFile file) {
        files.remove(file);
}
于 2013-11-02T14:08:44.470 に答える