SpringMVC的请求参数,类型转换器(日期格式),请求映射

请求参数

springMVC将传递的参数封装到处理的方法形参中,达到快速访问参数的目的

普通参数类型

参数名与处理器方法形参名保持一致

    //地址栏传递参数name//http://localhost:82/request/str?name=小付@RequestMapping("/str")public String test01(String name){System.out.println("地址栏传递的参数:"+name);return "/success";}
    //restful风格地址传递参数//http://localhost:82/request/str/小付@RequestMapping("/str/{id}")public String test02(@PathVariable("id") int id){System.out.println("restful风格地址栏传递的参数:"+id);return "/success";}

@RequestParam注解,设定参数

POJO类型参数

实体类中使用简单类型属性时候,参数名与实体类中属性名保持一致即可

   //传递pojo实体类型//http://localhost:82/request/user?name=小付&age=18@RequestMapping("/user")public String test03(User user){System.out.println("地址栏传递的数据封装为user:"+user);return "/success";}

pojo类型属性,与方法其他形参同名时

复杂POJO类型参数



    //传递pojo实体类型,实体类中属性还为实体类//http://localhost:82/request/user?name=小付&age=18&address.city=重庆@RequestMapping("/user/pojo")public String test04(User user){System.out.println("地址栏传递的数据封装为user:"+user);return "/success";}//传递pojo实体类型,实体类属性为List<String> friends;//http://localhost:82/request/user/friends?name=小付&age=18&friends=小花&friends=小李@RequestMapping("/user/friends")public String test05(User user){System.out.println("地址栏传递的数据封装为user:"+user);//地址栏传递的数据封装为user:User(name=小付, age=18, address=null, friends=[小花, 小李])return "/success";}

数组类型的参数


类型转换器

SpringMVC对接收的数据进行自动类型转换,该工作通过Converter接口实现

日期类型格式转换

声明自定义的格式转换并覆盖系统的转换格式
    <!--5.启用自定义Converter--><mvc:annotation-driven conversion-service="conversionService"/><!--1.设定格式类型Converter,注册为Bean,受SpringMVC管理--><bean id="conversionService"class="org.springframework.format.support.FormattingConversionServiceFactoryBean"><!--2.自定义Converter格式类型设定,该设定使用的是同类型覆盖的思想--><property name="formatters"><!--3.使用set保障相同类型的转换器仅保留一个,避免冲突--><set><!--4.设置具体的格式类型--><bean class="org.springframework.format.datetime.DateFormatter"><!--5.类型规则--><property name="pattern" value="yyyy-MM-dd"/></bean></set></property></bean>

日期格式类型转换注解方式

    //传递时间格式,在xml配置转换器,是spring定义的日期格式转换器//http://localhost:82/request/date/xml?date=2020-02-02@RequestMapping("/date/xml")public String test06(Date date){System.out.println("地址栏传递的数据封装为date:"+date);//地址栏传递的数据封装为date:Sun Feb 02 00:00:00 CST 2020return "/success";}//传递时间格式,注解的方式使用@DateTimeFormat的转换器,是spring定义的日期格式转换器//http://localhost:82/request/date?date=2020-02-02@RequestMapping("/date")public String test07(@DateTimeFormat(pattern = "yyyy-MM-dd") Date date){System.out.println("地址栏传递的数据封装为date:"+date);//地址栏传递的数据封装为date:Sun Feb 02 00:00:00 CST 2020return "/success";}

@RequestMapping注解,请求映射


@ReuqestMapping属性

SpringMVC的请求参数,类型转换器(日期格式),请求映射相关推荐

  1. http参数自动转换java接口参数设置_Springmvc请求参数类型转换器及原生api代码实例...

    一.springmvc的xml配置文件 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context=&q ...

  2. MetersPhere参数赋值时间戳+对接口参数进行加密---form-data格式请求

    MetersPhere参数赋值时间戳+对接口参数进行加密-form-data格式请求 需求:我的接口参数中有时间戳和被加密的sign值 第一个脚本,获取当前时间戳 long valnext = Sys ...

  3. 用thymeleaf将LocalDateTime类型的日期格式化为yyyy-MM-dd hh:mm:ss

    用thymeleaf格式化LocalDateTime 用thymeleaf将LocalDateTime类型的日期格式化为yyyy-MM-dd hh:mm:ss LocalDateTime类型的日期格式 ...

  4. 通过mybatis自定义参数类型转换器,进行数据库字段加密脱敏

    1 问题背景 在数据库存储人员的信息时,有一些信息是敏感数据,如身份证号.出生地等.为了防止信息泄漏,这些信息不允许直接在数据库中查看,此时就需要对这些字段进行加密存储,但在页面查看的仍旧是解密后的数 ...

  5. 详解Spring MVC请求参数类型,解决中文乱码问题,自定义类型转换器,Spring MVC相关注解

    #SpringMVC SpringMVC请求 简单类型 简单类型包括:基本类型,基本类型的包装类型,字符串 编写Controller @RequestMapping("/param" ...

  6. SpringMVC的请求-获得请求参数-请求参数类型

    客户端请求参数的格式是:name=value&name=value-- 服务器端要获得请求的参数,有时还需要进行数据的封装,SpringMVC可以接收如下类型的参数 基本类型参数 POJO类型 ...

  7. java converter转换器_在SpringMVC中设置自定义类型转换器Converter

    前言 在SpringMVC中为我们提供了许多内置的类型转换器,当我们在HTML表单中发起一个请求时,Spring会根据表单项中name属性的值映射到POJO的属性名,调用相对性属性的set方法帮我们把 ...

  8. SpringMVC(7)——类型转换器Converter

    目录 概述 内置的类型转换器 自定义类型转换器 创建实体类 创建控制器类 创建自定义类型转换器类 注册类型转换器 创建JSP视图文件 运行效果 概述 SpringMVC框架的Converter< ...

  9. springmvc二十一:自定义类型转换器

    ConversionService:是一个接口; 它里面有一个Converter(转换器)进行工作 ①实现一个Converter接口,写一个自定义的类型转换器 ②Converter是Conversio ...

最新文章

  1. 每日一程-10.五种基本随机数测试-续
  2. TP5 上传文件 中文乱码问题
  3. ViewPager + TabLayout + Fragment + MediaPlayer的使用
  4. arcgis显示后台错误_死亡、税收和Esri ArcGIS 999999错误:如何修复
  5. Linux系统故障处理案例(一)【转】
  6. useradd或adduser命令
  7. 【Linux】Linux用户和权限管理
  8. mysql cluster error 4010 157_关于mysql-cluster的一些问题想讨教各位经验人事
  9. 最新用python来操作mysql完全解析
  10. ping tracert 用法
  11. linux 下perl离线包下载
  12. python笔记-爬取猎聘网招聘信息
  13. 配置mpls vpn基本组网-intranet
  14. VS2017初学者如何打开右侧的解决方案资源管理器
  15. 来!学逆向都想的手游防护(下篇更新破解)
  16. python 调用 CTP API 进行下多单 下空单 平单 撤单 操作
  17. 第一场web3的游戏直播带领我走向直播的另一高点
  18. Python数据可视化第 2 讲:matplotlib 绘图中文字体设置
  19. 非对称加密之RSA算法
  20. macOS系统偏好设置中,软件更新,提示无法检查更新,请确定您已接入互联网

热门文章

  1. 做靠谱的程序员--《程序员修炼之道》读书报告
  2. 高创新出GoTVbox多路电视解调器
  3. DOS下从硬盘安装XP系统方法与要点
  4. winform技巧一,errorprovider,任务栏可见,总在最前
  5. android 生命周期 Activity/Fragment lifecycle
  6. IntelliJ IDEA 建空包合并问题。
  7. WPF将Ui保存为图片和保存位图
  8. hibernate关系映射(一对一)
  9. Linux下设计并发队列
  10. 从软件工程看,语言只是工具