Spring boot @ModelAttribute标注的实现
发布时间:2020-07-03 11:47:45 所属栏目:Java 来源:互联网
导读:Spring boot @ModelAttribute标注的实现 @ModelAttribute可以注释方法和参数 @ModelAttribute注释方法 @ModelAttribute注释方法该方法会在controller的所有方法之前被执行.通过Model将value设定到相应的key中. (1)注释返回值为void的方法,通过传入Model添加属
|
@ModelAttribute可以注释方法和参数 @ModelAttribute注释方法 @ModelAttribute注释方法该方法会在controller的所有方法之前被执行。通过Model将value设定到相应的key中。 (1)注释返回值为void的方法,通过传入Model添加属性值
@RestController
@RequestMapping("/usrcontroller")
public class UserController {
UserService us = new UserService();
@ModelAttribute
public void findUserById(@RequestParam Long uid,Model model) {
model.addAttribute("user",us.getUser(uid));
}
@GetMapping(path="/getuser")
@ResponseBody
public String getUser(Model model) {
User u = (User)(model.getAttribute("user"));
System.out.println(u.name);
return u.name;
}
}
(2)注释返回值为具体类型的。通过添加属性(属性名为返回值的头字母小写,例如返回值为Group,属性为group)将返回值添加
@RestController
@RequestMapping("/groupcontroller")
public class GroupController {
@ModelAttribute
public Group getGroupId(@RequestParam Long gid) {
Group g = new Group();
g.groupName = "group_"+gid;
g.groupId = gid;
return g;
//same as Model.addAttribute("group",g)
}
@GetMapping(path="/getgroup")
@ResponseBody
public String getGroup(Model model) {
Group g = (Group)model.getAttribute("group");
String gStr = "group(id:" + g.groupId + "," + g.groupName + ")";
System.out.println(gStr);
return gStr;
}
}
(3)指定属性的名称
//类似于Model.addAttribute("defaultuser",User)
@ModelAttribute("defaultuser")
public User createDefaultUser() {
return new User("defaultUsr","SH",22,true);
}
@GetMapping(path="/checkdefaultuser")
@ResponseBody
public String checkDefaultUser(@ModelAttribute("defaultuser") User dfUsr) {
String dfUsrStr = "Default user("+dfUsr.name + "," + dfUsr.address + "," + dfUsr.age + "," + dfUsr.isMan + ")";
System.out.println(dfUsrStr);
return dfUsrStr;
}
@ModeAttribute注释方法的参数
@ModelAttribute("defaultuser")
public User createDefaultUser() {
return new User("defaultUsr"," + dfUsr.isMan + ")";
System.out.println(dfUsrStr);
return dfUsrStr;
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。 (编辑:鄂州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
