中使用和不使用@modelAttribute的彈簧數據綁定我讀過在方法param中添加@modelAttribute將傳入數據綁定到對象並將其作爲屬性添加到模型對象。在方法參數
@RequestMapping(value = "/list", method = RequestMethod.GET)
public String list(@ModelAttribute User user) {
return "list";
}
,如果這是通過/列表?名稱=無名,在的List.jsp「無名」可以使用{user.name},因爲它被添加爲模型的List.jsp屬性看到訪問。這對我來說很清楚。
但如果我不
@RequestMapping(value = "/list", method = RequestMethod.GET)
public String list(User user) {
return "list";
}
「無名」 仍然可以使用,當通過/列表?名稱=無名訪問{user.name}可以看出。我認爲用戶對象不會被添加到模型中,因爲它沒有@ModelAttribute註解。
它仍然會綁定BUT,因爲您聲明以後無法在您的頁面中訪問它(因爲它不是模型對象),其他的東西如訪問綁定結果和其他計數爲'@ ModelAttribute'註釋參數的特性不適用於此。 –
是的,它仍然會綁定,但我的問題是它仍然被添加爲list.jsp的模型屬性,這不是我的預期行爲,因爲它沒有@modelAttribute註釋。 – xian