атрибут весеннего портлета mvc: model равен null, несмотря на то, что он является modelAttribute? - PullRequest
0 голосов
/ 08 декабря 2010

В моем рендеринге я поместил объект User в мою модель (model.addAttribute).В связанной JSP я делаю:

<form:form action="x" method="post" modelAttribute="user">
Username: ${user.username}
Age: ${age}
This information is correct: <input type="checkbox" id="correctInformation"/>
<input type="submit" value="Submit"/>
</form:form>

Однако в методе mathing x, когда я получаю объект пользователя с помощью тега @ModelAttribute, пользовательский объект является новым экземпляром вместо того, который используется в форме (имя пользователя пусто и т. д.).

Кто-нибудь знает, почему это происходит, и решение?

изменить: я могу использовать <input type:hidden path="username"/>, и это работает, но это не так уж и чисто .... Есть ли лучшее решение?

1 Ответ

1 голос
/ 09 декабря 2010

Проблема такая же, как и у другого вопроса. Вы не отправляете информацию в форме, если не добавили тег формы для полей. Поэтому обычным способом является добавление скрытого поля для отправки этой информации следующим образом:

с пружинными бирками:

<form:hidden path="username" />

или просто с тегом формы

<input type="hidden" name="username" value=" ${user.username}" />
...