spring mvc表单数据绑定,对于基本类型和日期的处理WebDataBinder
来源:互联网 发布:云计算用什么语言 编辑:程序博客网 时间:2024/06/07 00:30
因为对于原生基本类型的form表单绑定,会出错。需要指定具体的类型编辑器。用法如下:首先在BaseAction中增加方法initBinder,并使用注解@InitBinder标注,那么spring mvc在绑定表单之前,都会先注册这些编辑器。剩下的控制器都继承该类。CustomDateEditor spring自己提供了。
这个是基类BaseAction:
public class BaseAction {@InitBinderprotected void initBinder(WebDataBinder binder) {binder.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"), true));binder.registerCustomEditor(int.class, new IntegerEditor());binder.registerCustomEditor(long.class, new LongEditor());binder.registerCustomEditor(double.class, new DoubleEditor());binder.registerCustomEditor(float.class, new FloatEditor());}}
下面是各个编辑器类:
Spring提供了CustomNumberEditor,也可以不用些编辑器类。使用构造函数构造相应的编辑器类。
public class DoubleEditor extends PropertiesEditor {@Overridepublic void setAsText(String text) throws IllegalArgumentException {if (text == null || text.equals("")) {text = "0";}setValue(Double.parseDouble(text));}@Overridepublic String getAsText() {return getValue().toString();}}
import org.springframework.beans.propertyeditors.PropertiesEditor;public class IntegerEditor extends PropertiesEditor {@Overridepublic void setAsText(String text) throws IllegalArgumentException {if (text == null || text.equals("")) {text = "0";}setValue(Integer.parseInt(text));}@Overridepublic String getAsText() {return getValue().toString();}}
public class LongEditor extends PropertiesEditor {@Overridepublic void setAsText(String text) throws IllegalArgumentException {if (text == null || text.equals("")) {text = "0";}setValue(Long.parseLong(text));}@Overridepublic String getAsText() {return getValue().toString();}}
public class FloatEditor extends PropertiesEditor {@Overridepublic void setAsText(String text) throws IllegalArgumentException {if (text == null || text.equals("")) {text = "0";}setValue(Float.parseFloat(text));}@Overridepublic String getAsText() {return getValue().toString();}}
- spring mvc表单数据绑定,对于基本类型和日期的处理WebDataBinder
- spring mvc表单数据绑定,对于基本类型和日期的处理WebDataBinder
- spring mvc表单复杂类型数据绑定
- Spring MVC---数据绑定和表单标签
- Play1.x对于日期类型数据的请求和处理
- Spring MVC表单数据绑定
- Spring MVC中数据绑定之日期类型
- spring MVC中数据绑定之日期类型
- Spring依赖注入对于Date类型数据的处理
- Spring MVC 学习指南--- 第五章 数据绑定和表单标签绑定
- Spring MVC的数据绑定
- spring mvc表单中集合类型的参数绑定,含集合下标动态改变
- 【笔记】Spring MVC学习指南(五)数据绑定和表单标签库
- (笔记)Spring MVC学习指南_数据绑定和表单标签库
- JavaEE_Mybatis_SpringMVC__Spring MVC中数据绑定之日期类型
- spring mvc使用@InitBinder 标签对表单数据绑定
- spring mvc使用@InitBinder 标签对表单数据绑定
- spring mvc使用@InitBinder 标签对表单数据绑定
- extjs的gridpanel的数据内容不能复制解决方法
- [C/C++]写出几个无限循环
- LoadRunner关联的例子
- windows7(x86 x64) 下安装未签名驱动并使用虚拟设备
- var_dump()函数输出不完整,有省略号的解决办法
- spring mvc表单数据绑定,对于基本类型和日期的处理WebDataBinder
- 【转载】16款最流行的JavaScript框架
- cocos2d-x编译时的一些错误解决,编译出错,运行错误
- JQuery Tutorial | AJAX POST
- 外链真的没用了吗?
- Flex 实现日期范围的选择并格式化
- 黑马程序员:FileReader介绍及应用
- KMP研究
- Android动画效果实现