国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

SpringMVC ModelAttribtue注解

2019-11-08 18:42:06
字體:
來源:轉載
供稿:網友

今天研究了比較久,網上的資料說的不是很清楚,來這里整理一下。

不一定準確,但是八九不離十吧。

ModelAttribute是一個在控制器里使用的注解,用來從Model里存取數據。它可以注解在方法或者方法參數上。注解在方法上意味著往Model里存數據,注解在參數上意味著從Model取數據。

有幾種用法,參考自 http://blog.csdn.net/li_xiao_ming/article/details/8349115

一.在方法上注解

這種情況下,方法會在每個控制器方法調用之前被調用。

1.@ModelAttribute注釋void返回值的方法 

public class HelloWorldController {            @ModelAttribute          public void populateModel(@RequestParam String abc, Model model) {             model.addAttribute("attributeName", abc);          }            @RequestMapping(value = "/helloWorld")          public String helloWorld() {             return "helloWorld";          }  } 這種情況下,populateModel先被執行,在model中置入請求參數(/helloWorld?abc=text),之后執行helloworld,返回視圖和準備好的model。

2.@ModelAttribute注釋返回具體類的方法 

@ModelAttribute  public Account addAccount(@RequestParam String number) {         return accountManager.findAccount(number);}  這種情況下,返回的對象會被置入Model,再傳入控制器。該對象在Model中的名稱由返回值類型決定,該例中名字是account。如果有多個同類型的對象會怎么樣?我不知道。

3.@ModelAttribute(value="")注釋返回具體類的方法 

@Controller  public class HelloWorldController {          @ModelAttribute("attributeName")          public String addAccount(@RequestParam String abc) {             return abc;          }            @RequestMapping(value = "/helloWorld")          public String helloWorld() {             return "helloWorld";          }  }這種情況和上一種類似,只是對象在Model中的名稱由ModelAttribute的value參數決定

二.@ModelAttribute注釋方法參數

這種情況下,參數回從Model中取出數據

1.從Model中獲取

@Controller  public class HelloWorldController {          @ModelAttribute("user")          public User addAccount() {             return new User("jz","123");          }            @RequestMapping(value = "/helloWorld")          public String helloWorld(@ModelAttribute("user") User user) {             user.setUserName("jizhou");             return "helloWorld";          }  }user參數將從Model中取出名字是“user”的對象

2.從請求中獲取

@Controller  public class HelloWorldController {            @RequestMapping(value = "/helloWorld")          public String helloWorld(@ModelAttribute User user) {             return "helloWorld";          }  }user回從請求中綁定數據。其實寫不寫標注都可以完成綁定。


上一篇:rails圣經總結

下一篇:抽象工廠模式

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴业县| 丹阳市| 北安市| 神池县| 舟山市| 任丘市| 尼勒克县| 南投县| 正阳县| 闵行区| 开远市| 高尔夫| 抚顺县| 土默特右旗| 班戈县| 甘谷县| 甘洛县| 浠水县| 射阳县| 饶河县| 眉山市| 绥宁县| 乾安县| 柳江县| 梁山县| 积石山| 吴川市| 恭城| 进贤县| 佛坪县| 富阳市| 东方市| 淳安县| 东港市| 化德县| 香港| 萍乡市| 隆德县| 卢氏县| 新闻| 江永县|