/**
* @ModelAttribute标记的方法会永远最先执行
* 执行流程:
* 1、执行@ModelAttribute注解修饰的方法:从数据库中去出对象,把对象放入到Map中。
* 2、SpringMVC从Map中取出User对象,并把表单的请求参数赋值给该User对象的对应属性。
* 3、SpringMVC把上述对象传入目标方法的参数。
* 上述需要完成的是:当修改对象的末一个属性时,不修改的属性表单没有传,就会导致最后的
* 存储结果变为null;使用@ModelAttribute注解,可以先取到对象的所有属性值,然后再去修改。
*/

index.jsp:

<!--
测试@ModelAttributes:模拟修改操作:、
1、原始数据为:1,Tom,123456,tom@atguigu.com,12
2、密码不能修改
3、表单回显,模拟操作直接在表单填写对应的属性值
-->
<form action="springmvc/testModelAttributes" method="post">
<input type="hidden" name="id" value="1"/>
username:<input type="text" name="username" value="Tom"/>
<br><br>
email:<input type="text" name="email" value="tom@atguigu.com"/>
<br><br>
age:<input type="text" name="age" value="12"/>
<br><br>
city:<input type="text" name=privnce value="beijing"/>
<br><br>
<input type="submit" value="Submit"/>
</form>

@Controller:
@ModelAttribute
public void getUser(@RequestParam(value = "id",required=false) Integer id,Map<String,Object>map){
if(id != null){
User user = new User(1, "Tom", 12, "123456");
System.out.println("模拟数据库获取对象:" + user);
map.put("user", user);
}
}

@RequestMapping("/testModelAttributes")
public String testModelAttributes(User users){
System.out.println("修改user信息:" + users);
return SUCCESS;
}

转载于:https://www.cnblogs.com/Allen-Zsj/p/8242846.html

SpringMVC @ModelAttribute注解相关推荐

  1. SpringMVC(十七-二十) ModelAttribute 注解

    有点难理解. 修饰方法是表示在该控制器的所有目标方法执行前都执行该modelattribute注解的方法. 修饰参数是表示什么?修饰参数时@modelattributes(value="xx ...

  2. springMVC中的@ModelAttribute注解

    springMVC小总结 常用注解总结 以下内容是我个人对@ModelAttribute注解的见解,如有错误请批评指正!!! 例子中用到的代码:代码获取 @ModelAttribute注解 1.作用: ...

  3. SpringMVC框架----ModelAttribute注解

    作用: 该注解是 SpringMVC4.3 版本以后新加入的.它可以用于修饰方法和参数. 出现在方法上,表示当前方法会在控制器的方法执行之前,先执行.它可以修饰没有返回值的方法,也可以修饰有具体返回值 ...

  4. SpringMVC-学习笔记03【SpringMVC常用注解】

    Java后端 学习路线 笔记汇总表[黑马程序员] SpringMVC-学习笔记01[SpringMVC概述及入门案例][day01] SpringMVC-学习笔记02[参数绑定及自定义类型转换] Sp ...

  5. springMVC各种注解及解释和使用

    3.@RequestMapping 注解 Spring MVC 使用 @RequestMapping 注解为控制器指定可以处理哪些 URL 请求,@RequestMapping把请求与处理请求的方法映 ...

  6. springmvc常用注解

    转载自   springmvc常用注解 第一部分 一.@Controller 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请 ...

  7. java中的Attribute类_java培训技术ModelAttribute注解修饰POJO类型的入参

    @RequestMapping("/testModelAttribute") //public String testModelAttribute(User user){ publ ...

  8. springmvc常用注解与类型转换

    springmvc常用注解与类型转换 一:前置 spring -servlet.xml 注入 <!-- 启用spring mvc 注解 --><context:annotation- ...

  9. springmvc php,SpringMVC 常用注解

    SpringMVC 常用注解 1.@Controller 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理 ...

最新文章

  1. int long java_java long int的区别
  2. 【linux】Valgrind工具集详解(十三):Helgrind(线程错误检测器)
  3. 项目实践 | 行人跟踪与摔倒检测报警
  4. 病毒组研究的挑战-相关的新兴技术
  5. 材料成型计算机模拟第三版,材料成型计算机模拟考试复习资料.doc
  6. python按行读取文件 with open_python笔记——文件读写操作过程(open与with open的区别)...
  7. 018 jquery中的事件
  8. XML Parsing in a Producer-Consumer Model
  9. iOS Block 知识点拾遗
  10. 微信公众平台开发接口PHP SDK完整版
  11. 测量仪图片_介绍一款电线电缆检测智能影像测量仪
  12. Make a Crystal UVA - 11014 (容斥定理)
  13. 遂宁让“智慧城市”融入绿色经济发张
  14. 静态的顺序表(C语言实现)
  15. ctf镜子里面的世界_在秋天遇见“冰雪世界”,好像老天给我变了个魔法
  16. Handler 机制简介
  17. 生如夏花之绚烂,死如秋叶之静美---也传奇
  18. 保你学会Springboot如何前后端分离地传输数据!(后端,前端的坑过几天填上)
  19. Modbus 的RTU、ASCII、TCP傻傻搞不清楚?一文最全解读
  20. 百万调音师—音频基础知识

热门文章

  1. 《Linux菜鸟入门2》LVM
  2. onSaveInstanceState() 和 onRestoreInstanceState()
  3. 轻量级OLAP(一):Cube计算
  4. android ListView常用知识总结
  5. Java编程,打印昨天的当前时刻
  6. Linux救援模式实战
  7. 如何跨越线程调用窗体控件?(1)
  8. 51CTO‘s Bug?
  9. 请郎平回归执教中国女排
  10. 如何安全地迁移到Exchange 2003?