誰かがSpring MVCのフォームにCollectionをバインドしようとする試みが機能していない理由を知ってもらえますか?ここでフォームへのバインドコレクション - なぜ機能しないのですか?
は私のオブジェクトがどのように見えるかである - ここで
public class TestObj {
private Integer testNumber;
private String home;
private String destination;
}
は、上記課題のリストが含まれて私のフォームオブジェクトである - 私のコントローラで
public class TestForm {
private List<TestObj> testList;
//contains getter and setter for testList
}
、私はformBackingObjectメソッドを実装している -
をpublic class MyController extends SimpleFormController {
public MyController() {
setCommandClass(TestForm.class);
setCommandName("testForm");
}
protected Object formBackingObject(HttpServletRequest request) throws Exception {
if (isFormSubmission(request)) {
testForm = (TestForm) super.formBackingObject(request);
//THIS ALWAYS RETURNS NULL ON FORM SUBMISSION
List<TestObj> testList = testForm.getTestList();
} else {
//load initial data using hibernate. TestObj is hibernate domain object.
List<TestObj> testList = myService.findTestList();
testForm = new TestForm(testList);
}
return testForm;
}
ここに私のJSPスニペットがあります -
最初にデータをロードしてもフォームに問題がないうちに、送信ボタンを押すとコントロールはformBackingObjectメソッドに進み、isFormSubmissionはtrueを返します。しかし、super.formBackingObject(request)を使ってコマンドオブジェクトを取得すると、testList値をnullとしてフォームオブジェクトが返されます。この単純なケースがなぜ機能していないのか理解できません。
私は本当にこれを動作させるための助けに感謝します。
返信いただきありがとうございます。私はSpring 2.0を使用しているアプリケーションを引き継いだが、まだSpring 3.0以上の機能を使用する立場には達していない。また、バインディングに関して投稿した2番目のリンクを見て、そこに記載されている別のリンクからAutoPopulatingListの使用方法を見つけました。しかし、それは私がすべてのヌルでリストを返すので、まだ助けにならない。 – JUG
私の経験は春3だけです。私はさらに助けることができるかどうかを確認するために少し掘り下げますが、他の誰かがあなたのために早く返信したらうれしいです! :) – skel625