SpringMVC 学习笔记2
来源:互联网 发布:c 游戏编程基础 编辑:程序博客网 时间:2024/05/22 03:19
第一种、默认支持的类型绑定
- HttpServletRequest
- HttpServletResponse
- HttpSession
Model/ModelMap
ModelMap是Model接口的实现类,将model数据填充到request域,向页面传递数据。
Model.addAttribute()效果等同于req.setAttribute + url显式传参。ApplicationContext
参考:http://www.importnew.com/18384.html - spring里头各种获取ApplicationContext的方法
方式一:request.getAttribute(DispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE)
第二种、简单类型绑定
支持整型、字符串、单精度/双精度、布尔型。当请求的参数名称和处理器形参名称一致时会将请求参数与形参进行绑定。可以通过@RequestParam对简单类型的参数进行绑定。如果不使用@RequestParam,要求request传入参数名称和controller方法的形参名称一致,方可绑定成功。如果使用@RequestParam,不用限制request传入参数名称和controller方法的形参名称一致。
@RequestParam - 形参注解
1. name:映射传参名和形参名2. defaultValue:定义默认值3. required:定义参数是否必须存在@RequestMapping的params与@RequestParam的required之间的关系探索,在没有userId参数的前提下大实验:1. params="userId" & required=false & int userId --> 访问失败,400,提示需要参数2. required=false & int userId --> 访问失败,500,提示null不能赋给int类型变量3. required=true & int userId --> 访问失败,400,提示需要参数4. required=false & Integer userId --> 访问成功,值为null5. defaultValue = "-2" & required=false & int userId --> 访问成功,值为-26. defaultValue = "-4" & required=true & int userId --> 访问成功,值为-4(设置defaultValue,required就无效)
第三种、简单POJO类型绑定
如果传过来的参数属于两个不同的POJO对象,可以加前缀区别。
例如,对象User{name,pass}和Address{id,name},名字就
定义为:”u.name”,”addr.name”。这里的u和addr就是处理方法的形参名。
第四种、包装POJO类型绑定
如果POJO对象里又有POJO对象,参数名可以这样设置:”name1.name2”。
例如,User对象里有Address对象,那么name=”address.id”。
第五种、自定义参数绑定(如日期类型Date):
方法1:在POJO类的日期属性加注解@DateTimeFormat(pattern = “yyyy-MM-dd”)。
方法2:定义转换器
1. 定义Converter<String, Date>的实现类DateConverter2. 声明<mvc:annotation-driven conversion-service="conversionService"/>3. 声明FormattingConversionServiceFactoryBean并传入DateConverter作为参数,具体如下:```xml<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> <property name="converters"> <set> <bean class="com.springmvc.DateConverter"/> </set> </property></bean>```
集合类型:分两种,基本数据类型的集合和POJO类型的集合。
包含多个集合属性的类:
@ModelAttribute:
Spring的底层把形参值设置进request域,key为首字母小写的形参类型名。如果形参注解了@ModelAttribute(value),会把注解的value值作为key。
阅读全文
0 0
- springmvc学习笔记2
- springmvc-学习笔记(2)
- SpringMVC学习笔记2
- springmvc学习笔记2
- SpringMVC 学习笔记2
- SpringMVC学习笔记(2)
- springMVC学习笔记--初识springMVC
- SpringMvc 学习笔记-------springmvc框架
- SpringMVC学习笔记(2):请求映射
- SpringMVC的学习笔记
- mybits-springmvc学习笔记
- SpringMVC学习笔记
- SpringMVC学习笔记一
- SpringMVC学习笔记二
- SpringMVC学习笔记三
- springMVC学习笔记
- SpringMVC入门学习笔记
- SpringMVC学习笔记--SimpleFormController
- 1002: C语言程序设计教程(第三版)课后习题1.6
- HDU 5573 Binary Tree ACM/ICPC 2015 Shanghai(构造)
- 三种比较排序算法,java实现
- 了解非堆内存的参数配置
- 解析xml文件的四种方式
- SpringMVC 学习笔记2
- SpringMVC 学习笔记3
- SpringMVC 学习笔记4
- SpringMVC 学习笔记5
- windows核心编程---windows线程池
- SpringMVC 学习笔记6
- 常用排序算法代码兑现
- Spring 学习笔记1
- 新建webApi的帮助文档