SpringMvc-PropertyEditor接口和@InitBinder注解
注:通过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注解相关推荐
- SpringMVC中的@InitBinder注解【记录】
一.Spring请求参数绑定流程: 1.请求参数绑定流程: 我们在开发的时候,经常会从html,jsp中将请求参数通过request对象传递到后台,可是经常会遇到这么一种情况,那就是传过来的数据到后台 ...
- SpringMVC之@InitBinder注解详解
说明与作用 springmvc并不是能对所有类型的参数进行绑定的,如果对日期Date类型参数进行绑定,就会报错IllegalStateException错误.所以需要注册一些类型绑定器用于对参数进行绑 ...
- SpringMVC之@InitBinder注解(日期转换)
@InitBinder注解的作用: springmvc并不是能对所有类型的参数进行绑定的,如果对日期Date类型参数进行绑定,就会报错IllegalStateException错误.所以需要注册一些类 ...
- 详细分析@InitBinder注解的使用和原理
前言 由@InitBinder注解修饰的方法用于初始化WebDataBinder对象,能够实现:从request获取到handler方法中由@RequestParam注解或@PathVariable注 ...
- SpringBoot @InitBinder注解实现Bean国际化校验
参考资料 参考: 妥当性チェックのエラーメッセージ出力方法 (需翻墙) springMVC之@InitBinder的用法1 springMVC之@InitBinder的用法2 springMVC之@I ...
- Date类型接收空字符串(@InitBinder注解实现)
当后端实体类中的属性为Date类型的数据接收前端传过来的数据为空字符串时,可能会报错(Failed to convert property value of type 'java.lang.Strin ...
- SpringMVC全局乱码过滤器、注解@RequestParam、自定义类型转换器
目录 配置全局乱码过滤器 参数绑定注解@RequestParam 注解@RequestParam的参数使用说明 获得Restful风格的参数 自定义类型转换器 自定义转换器的开发步骤: 获得Servl ...
- SpringBoot @InitBinder注解绑定请求参数
参考资料 springMVC之@InitBinder 和 Validator springMVC之@InitBinder的用法1 springMVC之@InitBinder的用法2 目录 一. 作用 ...
- @InitBinder注解绑定表单数据
在SpringMVC框架的项目中,bean中定义了Date,double等类型,如果没有做任何处理的话,日期以及double都无法绑定. 比如经常会遇到页面表单中某些数据类型是Date.In ...
最新文章
- android gradle 给所有的buildFlavor 的versionName 增加一个后缀
- 矩阵快速幂求大斐波那契poj3070(java)
- 为什么WEB-INF外的jsp无法根据cookie享受国际化
- 转:防止跨站攻击,安全过滤
- 学术谱系树:来看看你导师的师承
- 005---基于UDP的套接字
- php diy,PHP DIY 系列------基础篇:1. PSR
- android开发常用的组件,Android开发常用控件与属性
- 仿写王者荣耀主页代码HTML CSS,CSS3实现王者荣耀匹配人员加载页面的方法
- ps手柄震动测试软件,PS3 可实现震动 用PS3手柄连接电脑图文教程 - 电玩巴士
- iOS AVPlayer支持播放的格式
- matlab仿真调速,直流调速系统的MATLAB仿真参考程序
- 【万人千题】结对编程排位赛(第一期) 第一周 排名公布,这也太卷了
- mysql 删除数据后myd_关于mysql 删除数据后(.MYD,MYI)物理空间未释放
- 优酷屏幕录制在哪里_手机优酷怎么录制视频
- 高等数学:第十一章 无穷级数(2)函数的幂级数展开式、傅里叶级数
- Android自动化测试工具调研
- excel表格打印每页都有表头_表头如何自动编号?日常工作中的表格打印常见问题解答...
- 算法:记忆化搜索算法
- uniapp开发微信小程序分享功能
热门文章
- Windows操作系统下使用pip安装pygame
- Python中的列表(list)
- java mysql nclob_java向oracle数据库Clob读取,写入数据
- excel二极管伏安特性曲线_从交流电转直流电出发调研二极管的使用
- PHP使用weui,微信小程序WeUI引入
- android audio 自动播放,HTML5之audio无法自动播放的问题
- jpa 托管_JPA EntityManager详解(一)
- python字符串函数的使用方法_python字符串的操作函数
- linux 文件夹大小_技能“慧”|初识Linux(二)
- Spring Boot 之异步执行方法