學(xué)習(xí)完整課程請(qǐng)移步 互聯(lián)網(wǎng) Java 全棧工程師
簡(jiǎn)介
@ModelAttribute
具有如下三個(gè)作用:
- 綁定請(qǐng)求參數(shù)到命令對(duì)象:放在功能處理方法的入?yún)⑸蠒r(shí)凛剥,用于將多個(gè)請(qǐng)求參數(shù)綁定到一個(gè)命令對(duì)象侠仇,從而簡(jiǎn)化綁定流程,而且自動(dòng)暴露為模型數(shù)據(jù)用于視圖頁(yè)面展示時(shí)使用
- 暴露
@RequestMapping
方法返回值為模型數(shù)據(jù):放在功能處理方法的返回值上時(shí)犁珠,是暴露功能處理方法的返回值為模型數(shù)據(jù)逻炊,用于視圖頁(yè)面展示時(shí)使用 - 暴露表單引用對(duì)象為模型數(shù)據(jù):放在處理器的一般方法(非功能處理方法)上時(shí),是為表單準(zhǔn)備要展示的表單引用對(duì)象犁享,如注冊(cè)時(shí)需要選擇的所在城市等余素,而且在執(zhí)行功能處理方法(
@RequestMapping
注解的方法)之前,自動(dòng)添加到模型對(duì)象中炊昆,用于視圖頁(yè)面展示時(shí)使用
例子
暴露表單引用對(duì)象為模型數(shù)據(jù)的例子
@ModelAttribute
public User get(@RequestParam(required = false) String id) {
User entity = null;
if (StringUtils.isNotBlank(id)) {
entity = userService.get(id);
}
if (entity == null) {
entity = new User();
}
return entity;
}