国产探花免费观看_亚洲丰满少妇自慰呻吟_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圣經總結

下一篇:抽象工廠模式

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安乡县| 衡山县| 耒阳市| 探索| 如东县| 宜黄县| 图木舒克市| 田林县| 太和县| 嘉义市| 广南县| 冷水江市| 郎溪县| 日土县| 丹阳市| 沅江市| 西安市| 灯塔市| 怀化市| 囊谦县| 磐安县| 石首市| 汉中市| 卢龙县| 同德县| 昌黎县| 保亭| 河西区| 友谊县| 九江县| 东乌珠穆沁旗| 建始县| 岢岚县| 元阳县| 泉州市| 湟源县| 连山| 铁岭市| 北京市| 清水县| 安西县|