位置:首页 > Java > SpringMVC中@ModelAttribute注解的作用与使用场景详解

SpringMVC中@ModelAttribute注解的作用与使用场景详解

时间:2026-08-20  |  作者:怪兽小助手  |  阅读:0

1.用在方法的参数上

@ModelAttribute用在方法参数上时,作用很直接:把客户端传过来的参数,按照参数名自动注入到指定对象中。

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

不仅如此,这个对象还会被自动添加到ModelMap中,后续视图可以直接使用。

姓名: 生日:
@RequestMapping(value="/register")
	public String register(@ModelAttribute User user,Model model) {
		System.out.println(user.getBirthday());
		model.addAttribute("user", user);
		return "success";
	}

2.用在Controller的方法上

如果@ModelAttribute放在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";
	}

总结

两种用法各有侧重:

  • 参数上的@ModelAttribute:适合做表单绑定。
  • 方法上的@ModelAttribute:适合做全局数据预填充。

理解这两个场景,就能在项目中灵活运用了。

免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多