FormPanel、FileUploadField、および Spring を使用すると、ファイル オブジェクトを取得できません。
ここに私が持っているものがあります:
CommonsMultipartResolver Bean を Spring Context ファイルに追加しました。
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="100000"/>
</bean>
通常のゲッターとセッターを持つモデル クラスがあります。
pulic class UploadItem{
private String filename;
private CommonsMultipartFile fileData;
....
getters/setters
....
}
私のコントローラクラス:
@Controller
@RequestMapping("/Foo")
public class ThingController extends BaseController implements ServlerContextAware{
....
@RequestMapping(value = "/bar", method = RequestMethod.POST)
public @ResponseBody
String createFile(UploadItem item, BindingResults results){
String orgFile = item.getFileData().getOriginalFilename();
return orgFile;
}
フォーム フィールドの作成には UiBinding を使用していますが、fileupload フィールドと formpanel を呼び出して他のメソッドをコードに追加しています。
次を呼び出す送信ボタンがあります。
form.submit();
そして私のコンストラクターは、他のフォーム要件を処理します。
form.setMethod(Method.POST);
form.setEncoding(Encoding.MULTIPART);
form.setAction("http://url.com/foo/bar");
form.addSubmitCompleteHandler(new SubmitCompleteHandler(){
@Override
public void onSubmitComplete(SubmitCompleteEvent event){
String results = event.getResults();
Info.display("Upload Response", results);
}
});
コードを実行すると、item.getFileData().getOriginalFilename(); で nullpointerexecption が発生します。
何が問題なのかわからない。