簡體   English   中英

Spring @ModelAttribute不在乎commandName

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM