1

私は春のMVCフォームを持っています

<form:form action="${actionUrl}" method="post" commandName="userAccountVO">
<form:input type="text" path="userName" value="${user.userName}"></input>
//other similar fields
<input type="submit" id="save_changes_button" value="" />
</form:form>

ビューを返すコントローラーには、このコードがあります

 model.addAttribute(user, userAccountVO);
 model.addAttribute("userAccountVO", new UserAccountVO());
 return "view";

しかし、このような入力タグに値を入れると、上記のエラーが発生します

 <form:input type="text" path="userName" value="${user.userName}">some text</input>

また、フォームを送信しようとすると、モデル属性オブジェクトのすべてのフィールドが null になります。

  @RequestMapping(value = "/updateuser", method = RequestMethod.POST)
public @ResponseBody
GenericResponse updateUserAccount(
        @ModelAttribute("userAccountVO") UserAccountVO userAccountVO,
        BindingResult result) {
 //userAccountVO here is null, i guess it creates a new object
}

This post は、フォームバッキングオブジェクトを持っていないためだと言っていますが、持っています。

何が問題なのですか?前もって感謝します。

4

4 に答える 4

2

明らかなアドバイス。交換

<form:input type="text" path="userName" value="${user.userName}"></input>

<form:input path="userName"/>
于 2013-05-29T18:43:57.387 に答える
1

フォームのcommandName属性は、Spring フォームのモーダル オブジェクトへのすべての自動値バインディングを行います。パスを使用すると、モーダル オブジェクトの対応する属性の値を取得できます。

于 2013-05-30T06:23:05.007 に答える
-1

タグの間にスペース、文字、または改行を入れないでください。そうすると、この警告メッセージは表示されません。

于 2016-05-17T10:41:25.150 に答える