Spring @ModelAttribute不关心commandName

Jaa*_*nus 0 forms spring jsp spring-mvc modelattribute

JSP:

<form:form commandName="editWeather" method="post" action="../edit">
    <!-- Input fields -->
    <input type="submit" value="Submit">
</form:form>
Run Code Online (Sandbox Code Playgroud)

这就是我在Spring中获得模型的方式:

@ModelAttribute("DONTGIVEADAMN") Weather weather
Run Code Online (Sandbox Code Playgroud)

我仍然可以使用weather它来做我的操作,它工作得很好,例如:

weatherService.editWeather(weather);
Run Code Online (Sandbox Code Playgroud)

我的问题是......为什么这样做?

axt*_*avt 5

绑定从表单接收的数据时,模型属性名称无关紧要(因为表单字段的名称对应于模型对象的字段名称),仅在呈现表单时才重要.

特别是,当POST处理程序方法中的模型属性名称commandName与表单中的模型属性名称不匹配时,您将能够接收数据,但无法重新显示具有验证错误的表单.