java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringMVC的@ModelAttribute注解

SpringMVC的@ModelAttribute注解是什么?作用及使用场景介绍

作者:律二萌萌哒

还在为SpringMVC参数绑定发愁?本文带你搞懂@ModelAttribute注解的两种核心用法:在参数上自动注入并加入ModelMap,在方法上实现预处理并共享数据,通过实例详解,帮你轻松掌握这一实用技巧,提升开发效率

1.用在方法的参数上

注解在参数上,会将客户端传递过来的参数按名称注入到指定对象中,

并且会将这个对象自动加入ModelMap中

<form action="../register" method="post">
姓名:<input type="text" name="name" id="name">
生日:<input type="text" id="birthday" name="birthday">
<input id="submit" type="submit" value="提交"/>
</form>
@RequestMapping(value="/register")
	public String register(@ModelAttribute User user,Model model) {
		System.out.println(user.getBirthday());
		model.addAttribute("user", user);
		return "success";
	}

2.用在Controller的方法上

注解在方法上,会在每一个@RequestMapping标注的方法前执行,

如果有返回值,则自动将该返回值加入到ModelMap中

/*
	 * 在控制器类的处理方法执行前执行指定的方法
	 */
	@ModelAttribute
	public User getUser(Model model) {
		User user=new User("吕蒙","123",new Address("江苏","南京"));
		model.addAttribute("user", user);
		return user;
	}
	
	@RequestMapping("/modelAttribute")
	public String modelAttribute(User user) {
		System.out.println(user);
		return "success";
	}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文