博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
@ModelAttribute注解(SpringMVC)
阅读量:6516 次
发布时间:2019-06-24

本文共 1337 字,大约阅读时间需要 4 分钟。

在方法定义上使用 @ModelAttribute 注解:Spring MVC 在调用目标处理方法前,会先逐个调用在方法级上标注了 @ModelAttribute 的方法。

方法的入参前使用 @ModelAttribute 注解:可以从隐含对象中获取隐含的模型数据中获取对象,再将请求参数绑定到对象中,再传入入参

将方法入参对象添加到模型中(对于自定义的javaBean有用)

@Target({ElementType.PARAMETER, ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface ModelAttribute {
String value() default "";}

@ModelAttribute注解之运行原理

运行原理:

①     执行@ModelAttribute注解所修饰的方法,将从数据库中获取的对象存放到Map集合中,key为user(javaBean类的首字母小写形式)

②     SpringMVC从Map集合中获取 user对象,将表单数据封装到与参数名称对应的user对象属性上

③     SpringMVC将user对象作为参数,传递给目标方法。

④     注意:@ModelAttribute 注解修饰的方法中,放入到Map集合中的key值,应该和目标方法参数类型的类名称首字母小写一致。

 

@ModelAttribute//会在方法执行前执行改方法,同时会自动将数据存放到map中,可以用return employee返回该对象,也可以自己设置    public void getEmployee(@RequestParam(value="id",required=false)Integer id,Model model){        Employee employee = employeeDao.get(id);        if(employee != null)            model.addAttribute("employee", employee);        System.out.println("查出的员工:"+employee);    }

 

@RequestMapping(value="/emp/{id}",method=RequestMethod.PUT) //@ModelAttribute(value="employee")Employee employee //将封装在map中的对象取出来,添加到自定义的JavaBean中
public String empUpdate(@ModelAttribute(value="employee")Employee employee){ System.out.println(employee); employeeDao.save(employee); return "redirect:/emps"; }

 

转载于:https://www.cnblogs.com/limingxian537423/p/7273929.html

你可能感兴趣的文章
git compare for docx file
查看>>
局域网内部署 Docker Registry
查看>>
小程序
查看>>
十四、df命令、du命令、磁盘分区
查看>>
子网划分
查看>>
ETL工具kettle的使用,基础--1 (最基本的输入输出)
查看>>
决心书
查看>>
Confluence 6 删除垃圾内容
查看>>
手机控必备网站,让自己拥有更好的智能手机
查看>>
如何在PDF上添加水印
查看>>
淺談比特币
查看>>
2.Linux基本知识点整理(不定时更新中..)
查看>>
所有Mac用户都需要知道的9个实用终端命令行
查看>>
使用ISO镜像构建基于FTP,HTTP的YUM源服务器
查看>>
RMI(远程方法调用)介绍
查看>>
第一章
查看>>
Spring Boot基础教程-Spring Tool Suite工具的安装
查看>>
Android 事件处理,事件模型详解
查看>>
今天开通了博客
查看>>
TCP/IP、Http的区别
查看>>