注:通过InitBinder方法注册PropertyEditor,在@ResponseBody注解的方法是无效的

1.自己定义一个类,这个类实现PropertyEditor接口,其实就是实现这个接口中的setAsText和getValue

1 springmvc会调用setAsText方法将request中对应的值传递进去
2 springmvc会调用getValue方法,将拿到的值赋值到controller中的form实体类中

下面实例显示的是无论前台传递什么参数,最终User的name都是"小刚"

public class MyStringPropertyEditor implements PropertyEditor{@Overridepublic Object getValue() {return "小刚";}@Overridepublic void setAsText(String text) throws IllegalArgumentException {System.out.println("request中传递过来的值:"+text);}//省略其他Override方法
}

controller

@Controller
@RequestMapping("initbinder")
public class Controller {@InitBinderpublic void aa(WebDataBinder binder) {MyStringPropertyEditor sdf=new MyStringPropertyEditor();//表示User121中如果是String类型,就用MyStringPropertyEditor属性编辑器binder.registerCustomEditor(String.class, sdf);}@ResponseBody@RequestMapping("test")public String aa(User121 user) {//无论URL传递什么,此处都会打印"小刚"System.out.println("controller:"+user.getName());return "GG";}
}

URL中虽然写的是周传雄,但是进入到controller中,依然变成了小刚

http://localhost:8080/initbinder/test?name=周传雄

SpringMvc-PropertyEditor接口和@InitBinder注解相关推荐

  1. SpringMVC中的@InitBinder注解【记录】

    一.Spring请求参数绑定流程: 1.请求参数绑定流程: 我们在开发的时候,经常会从html,jsp中将请求参数通过request对象传递到后台,可是经常会遇到这么一种情况,那就是传过来的数据到后台 ...

  2. SpringMVC之@InitBinder注解详解

    说明与作用 springmvc并不是能对所有类型的参数进行绑定的,如果对日期Date类型参数进行绑定,就会报错IllegalStateException错误.所以需要注册一些类型绑定器用于对参数进行绑 ...

  3. SpringMVC之@InitBinder注解(日期转换)

    @InitBinder注解的作用: springmvc并不是能对所有类型的参数进行绑定的,如果对日期Date类型参数进行绑定,就会报错IllegalStateException错误.所以需要注册一些类 ...

  4. 详细分析@InitBinder注解的使用和原理

    前言 由@InitBinder注解修饰的方法用于初始化WebDataBinder对象,能够实现:从request获取到handler方法中由@RequestParam注解或@PathVariable注 ...

  5. SpringBoot @InitBinder注解实现Bean国际化校验

    参考资料 参考: 妥当性チェックのエラーメッセージ出力方法 (需翻墙) springMVC之@InitBinder的用法1 springMVC之@InitBinder的用法2 springMVC之@I ...

  6. Date类型接收空字符串(@InitBinder注解实现)

    当后端实体类中的属性为Date类型的数据接收前端传过来的数据为空字符串时,可能会报错(Failed to convert property value of type 'java.lang.Strin ...

  7. SpringMVC全局乱码过滤器、注解@RequestParam、自定义类型转换器

    目录 配置全局乱码过滤器 参数绑定注解@RequestParam 注解@RequestParam的参数使用说明 获得Restful风格的参数 自定义类型转换器 自定义转换器的开发步骤: 获得Servl ...

  8. SpringBoot @InitBinder注解绑定请求参数

    参考资料 springMVC之@InitBinder 和 Validator springMVC之@InitBinder的用法1 springMVC之@InitBinder的用法2 目录 一. 作用 ...

  9. @InitBinder注解绑定表单数据

    在SpringMVC框架的项目中,bean中定义了Date,double等类型,如果没有做任何处理的话,日期以及double都无法绑定.      比如经常会遇到页面表单中某些数据类型是Date.In ...

最新文章

  1. C++ Opencv 读取指定路径中的所有文件(图片)及指定路径中指定格式的所有文件(图片)
  2. 时序数据库连载系列: 时序数据库一哥InfluxDB之存储机制解析
  3. SAP QM 检验批上各个MIC质检结果的查询报表?
  4. android选择下拉框的默认值,如何在Android中将默认值设置为微调器下拉列表?
  5. 一款针对Outlook的红队安全研究工具
  6. 企业级 CICD 工具部署 Serverless 应用的落地实践
  7. int (*p)[4] 与 int* p[4]
  8. 约束流–没有Drools规则语言的现代Java约束
  9. 【渝粤教育】国家开放大学2019年春季 8042-22T养殖业基础 参考试题
  10. C#LeetCode刷题之#31-下一个排列(Next Permutation)
  11. 2012年12月21日所谓世界末日时做的第一个五年规划——成为领域内的专家
  12. Qt中QOpengl的QMatrix4x4矩阵作用原理以及使用方法
  13. 关于取地址运算符以及指针10要点
  14. VideoView播放视频黑屏问题处理
  15. 【最新】CUDA Toolkit版本及可用PyTorch对应关系(参考官网)
  16. git具体作用_Git是什么
  17. 库存出现负数 mysql_MySQL处理高并发,防止库存超卖库存出现负数
  18. dotcms open source java cms,开源Java CMS
  19. 视频教程- 办公三部曲—零基础学WORD教程-Office/WPS
  20. 大数据入门第一课 Hadoop基础知识与电商网站日志数据分析

热门文章

  1. JDK8新特性(十一)之收集Stream流中的结果
  2. mysql 主键自增_还再使用数据库自增主键吗?
  3. 【电脑帮助】解决Wind10系统修改电脑默认用户名Administrator的问题
  4. parzen窗估计如何进行结果分析_Parzen窗方法的分析和研究
  5. arp协议的主要功能是_计算机网络之ARP协议
  6. mysql5.7.29下载与安装并设置密码
  7. Java经纬度坐标与高斯坐标的转换
  8. MySQL 2006-MySQLserver has gone away
  9. 基于 Redis3.2.4 集群搭建说明
  10. 阿里云智能语音交互服务导览