注:通过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. android gradle 给所有的buildFlavor 的versionName 增加一个后缀
  2. 矩阵快速幂求大斐波那契poj3070(java)
  3. 为什么WEB-INF外的jsp无法根据cookie享受国际化
  4. 转:防止跨站攻击,安全过滤
  5. 学术谱系树:来看看你导师的师承
  6. 005---基于UDP的套接字
  7. php diy,PHP DIY 系列------基础篇:1. PSR
  8. android开发常用的组件,Android开发常用控件与属性
  9. 仿写王者荣耀主页代码HTML CSS,CSS3实现王者荣耀匹配人员加载页面的方法
  10. ps手柄震动测试软件,PS3 可实现震动 用PS3手柄连接电脑图文教程 - 电玩巴士
  11. iOS AVPlayer支持播放的格式
  12. matlab仿真调速,直流调速系统的MATLAB仿真参考程序
  13. 【万人千题】结对编程排位赛(第一期) 第一周 排名公布,这也太卷了
  14. mysql 删除数据后myd_关于mysql 删除数据后(.MYD,MYI)物理空间未释放
  15. 优酷屏幕录制在哪里_手机优酷怎么录制视频
  16. 高等数学:第十一章 无穷级数(2)函数的幂级数展开式、傅里叶级数
  17. Android自动化测试工具调研
  18. excel表格打印每页都有表头_表头如何自动编号?日常工作中的表格打印常见问题解答...
  19. 算法:记忆化搜索算法
  20. uniapp开发微信小程序分享功能

热门文章

  1. Windows操作系统下使用pip安装pygame
  2. Python中的列表(list)
  3. java mysql nclob_java向oracle数据库Clob读取,写入数据
  4. excel二极管伏安特性曲线_从交流电转直流电出发调研二极管的使用
  5. PHP使用weui,微信小程序WeUI引入
  6. android audio 自动播放,HTML5之audio无法自动播放的问题
  7. jpa 托管_JPA EntityManager详解(一)
  8. python字符串函数的使用方法_python字符串的操作函数
  9. linux 文件夹大小_技能“慧”|初识Linux(二)
  10. Spring Boot 之异步执行方法