次のように私のプロジェクトで FileUpload を使用する場合:
意見
<h2>#{bundle['upload']}</h2>
<p:scrollPanel id="upload" styleClass="ui-widget-filebucket-upload">
<h:form enctype="multipart/form-data">
<p:fileUpload fileUploadListener="#{fileBucket.handleFileUpload}"
mode="advanced" update=":download:files :messages"
multiple="false" label="#{bundle['choose_button']}"
uploadLabel="#{bundle['upload_button']}"
cancelLabel="#{bundle['cancel_button']}" />
</h:form>
</p:scrollPanel>
<p:resizable for="upload" />
ビューモデル
@ViewScoped
@Named("fileBucket")
public class DefaultFileBucketViewModel implements IFileBucketViewModel, Observer, Serializable {
// ...
public void handleFileUpload(FileUploadEvent event) {
try {
model.write(id, event.getFile().getFileName(), event.getFile().getInputstream());
} catch (final Exception e) {
log.error(e);
messages.error(new BundleKey(Literals.BUNDLE_NAME, Literals.FILE_UPLOAD_ERROR));
}
}
}
アップロードは意図したとおりに機能します。ファイルが保存され、登録されているすべてのコンポーネントが更新されます。ただし、ドラッグ アンド ドロップを使用してファイルを追加するか、[選択] ボタンを使用してファイルを追加するかに関係なく、ファイルは常にアップロード リストに 2 回追加されます。
ここで何が起こっていますか?どうすれば修正できますか?
提案をありがとう
パスカル