页面提交表单Form中的字符串数据转化为指定类型
2014-01-21 00:00
477 查看
页面提交表单Form中的字符串数据转化为指定类型,例如日期Date、枚举Gender等
1 使用Spring MVC提供的@InitBinder注解(从Spring MVC3.x开始)2 在Controller中声明一个方法,使用WebDataBinder对象作为参数,并表示1.1中的注解
// 看如下代码 // Controller @Controller @RequestMapping("/customerController") public class CustomerController { // ... @InitBinder public void binder(WebDataBinder binder) { // 处理日期类型 binder.registerCustomEditor(Date.class, new PropertyEditorSupport() { public void setAsText(String value) { try { setValue(new SimpleDateFormat("yyyy-MM-dd").parse(value)); } catch(ParseException e) { setValue(null); } } public String getAsText() { return new SimpleDateFormat("yyyy-MM-dd").format((Date) getValue()); } }); // 处理枚举类型 binder.registerCustomEditor(Gender.class, new PropertyEditorSupport() { public void setAsText(String value) { try { setValue(Gender.parseGender(value)); } catch(IllegalArgumentException e) { setValue(Gender.FEMALE); } } public String getAsText() { return ((Gender)getValue()).getValue(); } }); } }
还可以参见:http://stackoverflow.com/questions/3705282/spring-mvc-binding-a-date-field
相关文章推荐
- jQuery使用serialize(),serializeArray()方法取得表单数据+字符串和对象类型两种表单提交的方法
- Form表单只提交数据而不进行页面跳转的方法
- form表单只提交数据而不进行页面跳转的解决方案
- Form表单只提交数据而不进行页面跳转的方法
- springMVC form表单提交---包含时间类型的数据
- jQuery使用serialize(),serializeArray()方法取得表单数据+字符串和对象类型两种表单提交的方法
- Form表单只提交数据而不进行页面跳转的方法
- form表单只提交数据,而不进行页面跳转
- Form表单只提交数据而不进行页面跳转的方法
- Form表单只提交数据而不进行页面跳转的方法
- Form表单只提交数据而不进行页面跳转的方法
- easyui关于解决tab添加的页面通过href加载数据内容的页面刷新后form表单重复提交的问题;
- Jquery.form提交表单数据,不刷新页面。
- Form表单只提交数据而不进行页面跳转的方法
- Form表单只提交数据而不进行页面跳转的方法
- 使用form表单提交数据打开两个页面的问题
- Form表单只提交数据而不进行页面跳转的方法
- Form表单只提交数据而不进行页面跳转的方法
- jsp页面的ajax和form表单提交后接收数据的区别(SpringMVC控制器返回Map对象)