gwt-upload に問題があります。db からオブジェクトを取得するには onChange Upload が必要です。存在する場合、Web アプリはサーブレットを使用してファイルをアップロードできます。存在しない場合、アラートが表示されます。
コメント付きのコードは、'It works' コメントのある位置でのみ実行されます。
else ブロックで実行されないのはなぜですか?
final MultiUploader upload = new MultiUploader(FileInputType.BUTTON);
upload.addOnChangeUploadHandler(new OnChangeUploaderHandler() {
@Override
public void onChange(IUploader uploader) {
myService.getMyObject(name, new AsyncCallback<List<Object>>() {
@Override
public void onFailure(Throwable caught) {
Window.alert("Something");
}
@Override
public void onSuccess(List<Object> listMyObject) {
if(listMyObject.size() == 0) {
Window.alert("Error.");
} else {
//It doesn't works.
String url = GWT.getModuleBaseURL() + "upload?nameObject=" + name;
upload.setServletPath(url);
}
}
});
}
});
//It works.
String url = GWT.getModuleBaseURL() + "upload?nameObject=" + name;
upload.setServletPath(url);