SpringMvc中@ModelAttribute注解的使用
一、绑定请求参数到指定对象
- public String test1(@ModelAttribute("user") UserModel user)
 
只是此处多了一个注解@ModelAttribute("user"),它的作用是将该绑定的命令对象以“user”为名称添加到模型对象中供视图页面展示使用。我们此时可以在视图页面使用${user.username}来获取绑定的命令对象的属性。
如请求参数包含“?username=zhang&password=123&workInfo.city=bj”自动绑定到user 中的workInfo属性的city属性中。
- @RequestMapping(value="/model2/{username}")
 - public String test2(@ModelAttribute("model") DataBinderTestModel model)
 
URI 模板变量也能自动绑定到命令对象中, 当你请求的URL 中包含“bool=yes&schooInfo.specialty=computer&hobbyList[0]=program&hobbyList[1]=music&map[key1]=value1&map[key2]=value2&state=blocked”会自动绑定到命令对象上。当URI模板变量和请求参数同名时,URI模板变量具有高优先权。
二、暴露表单引用对象为模型数据
- /**
 - * 设置这个注解之后可以直接在前端页面使用hb这个对象(List)集合
 - * @return
 - */
 - @ModelAttribute("hb")
 - public List<String> hobbiesList(){
 - List<String> hobbise = new LinkedList<String>();
 - hobbise.add("basketball");
 - hobbise.add("football");
 - hobbise.add("tennis");
 - return hobbise;
 - }
 
JSP页面展示出来
- <br>
 - 初始化的数据 : ${hb }
 - <br>
 - <c:forEach items="${hb}" var="hobby" varStatus="vs">
 - <c:choose>
 - <c:when test="${hobby == 'basketball'}">
 - 篮球<input type="checkbox" name="hobbies" value="basketball">
 - </c:when>
 - <c:when test="${hobby == 'football'}">
 - 足球<input type="checkbox" name="hobbies" value="football">
 - </c:when>
 - <c:when test="${hobby == 'tennis'}">
 - 网球<input type="checkbox" name="hobbies" value="tennis">
 - </c:when>
 - </c:choose>
 - </c:forEach>
 
备注:
1、通过上面这种方式可以显示出一个集合的内容
2、上面的jsp代码使用的是JSTL,需要导入JSTL相关的jar包
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
三、暴露@RequestMapping方法返回值为模型数据
- public @ModelAttribute("user2") UserModel test3(@ModelAttribute("user2") UserModel user)
 
大家可以看到返回值类型是命令对象类型,而且通过@ModelAttribute("user2")注解,此时会暴露返回值到模型数据( 名字为user2 ) 中供视图展示使用
@ModelAttribute 注解的返回值会覆盖@RequestMapping 注解方法中的@ModelAttribute 注解的同名命令对象
SpringMvc中@ModelAttribute注解的使用的更多相关文章
- springmvc中ModelAttribute注解应用在参数中
		
可以用@ModelAttribute来注解方法参数或方法.带@ModelAttribute创建的参数对象会被添加到Model对象中.注解在参数上时,可以从Form表单或URL参数中获取参数并绑定到mo ...
 - SpringMVC 中 @ControllerAdvice 注解
		
SpringMVC 中 @ControllerAdvice 注解 1.@ControllerAdvice 1.1 全局异常处理 1.2 全局数据绑定 1.3 全局数据预处理 原文地址: 江南一点雨:S ...
 - SSM-SpringMVC-14:SpringMVC中大话注解式开发基础--呕心沥血版
		
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 注解的基础我不再多啰嗦,百度一搜很多,很详细啊,我就讲一下SpringMVC中的注解入门 通过注解的方式定义 ...
 - Spring MVC 中 @ModelAttribute 注解的妙用
		
Spring MVC 中 @ModelAttribute 注解的妙用 Spring MVC 提供的这种基于注释的编程模型,极大的简化了 web 应用的开发.其中 @Controller 和 @Rest ...
 - 全面解析Spring中@ModelAttribute注解的用法
		
本文不再更新,可能存在内容过时的情况,实时更新请移步我的新博客:全面解析Spring中@ModelAttribute注解的用法: @ModelAttribute注解用于将方法的参数或方法的返回值绑定到 ...
 - SpringMVC 中 @ControllerAdvice 注解的三种使用场景!
		
@ControllerAdvice ,很多初学者可能都没有听说过这个注解,实际上,这是一个非常有用的注解,顾名思义,这是一个增强的 Controller.使用这个 Controller ,可以实现三个 ...
 - SpringMvc中@ModelAttribute的运用
		
/** * 1. 有 @ModelAttribute 标记的方法, 会在每个目标方法执行之前被 SpringMVC 调用! * 2. @ModelAttribute 注解也可以来修饰目标方法 POJO ...
 - Spring|SpringMVC中的注解
		
文章目录 一.Spring注解 @Controller @ResuController @Service @Autowired @RequestMapping @RequestParam @Model ...
 - SpringMVC的@ModelAttribute注解简单使用(用户修改信息)
		
例如有一个User对象,我们要修改他的值,但是不能修改他的密码!通过表单提交数据之后,password为null,会把原对象的passwod覆盖掉.这时候可以用@ModelAttribute注解处理. ...
 
随机推荐
- 获取access_token示例代码
			
文档中心--百度AI-百度AI开放平台 http://ai.baidu.com/docs#/NLP-API/top #include <iostream> #include <cur ...
 - jQuery  change事件
			
定义和用法 当元素的值发生改变时,会发生 change 事件. 该事件仅适用于文本域(text field),以及 textarea 和 select 元素. change() 函数触发 change ...
 - pmd代码安全扫描工具
			
pmd是一款开源的代码扫描工具,这里对pmd做了一些修改,加了安全相关的插件.支持的代码文件类型:java.vue.js.xml 下载链接: https://files.cnblogs.com/fil ...
 - 省市县三级联动的SQL
			
完整版见https://jadyer.github.io/ 首先是建表语句 CREATE TABLE `t_address_province` ( `id` INT AUTO_INCREMENT PR ...
 - CSS背景以及文本
			
css设置背景: <style type="text/css"> /*background-image: 直接设置x,y重复而且平铺整个body*/ /*下面两句的功能 ...
 - 一些动态规划问题的java实现
			
从上往下推公式,从下往上求解值. 一:矩阵链乘法,最小括号化方案,动态规划方程. 0 如果i=j m[i,j] ={ min[i,k]+m[k+1,j]+pi-1pkpj ...
 - win10用键盘控制鼠标
			
打开控制面板 进入轻松使用 更改鼠标的工作方式 勾选启用鼠标键 点击设置鼠标键 应用确定 ctrl+shift+numlock开启鼠标键 小键盘8426上下左右,5类似鼠标单击 ctrl+小键盘加速, ...
 - echarts页面中多图自适应
			
$(function (){ //ups部分 var myChart = echarts.init(document.getElementById('result')) var option = { ...
 - iOS App迁移(App Transfer)注意点
			
1.App迁移需要苹果审核吗? 答:不需要 2.App迁移需要多长时间? 答:迁移操作过程很快,A账号发出申请,B账号接收,几分钟时间.App Store 展示B账号相关信息可能几分钟,也可能有延迟几 ...
 - STM32之独立版USB(Host)驱动+MSC+Fatfs移植
			
源:STM32之独立版USB(Host)驱动+MSC+Fatfs移植 STM32之USB驱动库详解(架构+文件+函数+使用说明+示例程序)