![](/img/trans.png)
[英]Difference between modelAttribute and commandName attributes in form tag in spring?
[英]Spring @ModelAttribute doesn't care about commandName
JSP:
<form:form commandName="editWeather" method="post" action="../edit">
<!-- Input fields -->
<input type="submit" value="Submit">
</form:form>
這就是我在Spring中獲得模型的方式:
@ModelAttribute("DONTGIVEADAMN") Weather weather
而且我仍然可以使用weather
進行操作,效果很好,例如:
weatherService.editWeather(weather);
我的問題是...為什么要這樣做?
綁定從表單接收的數據時,模型屬性名稱無關緊要(因為表單字段的名稱與模型對象的字段名稱相對應),僅在呈現表單時才重要。
特別是,當POST
處理程序方法中的模型屬性名稱與表單中的commandName
不匹配時,您將能夠接收數據,但是將無法重新顯示帶有驗證錯誤的表單。
它匹配類類型(或接口),而不是變量/參數的名稱; 並且指定的請求映射/方法簽名必須正確。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.