JAVA Spring web mvc 学习 之 6:数据类型转换
来源:互联网 发布:网络理财产品收益排名 编辑:程序博客网 时间:2024/06/02 02:38
3种方式:
1.自定义全局转换器。ConversionService
a.定义转换类我public class StringToDateConverter implements Converter<String , Date>{
// 日期类型模板:如yyyy-MM-dd
private String datePattern;
public void setDatePattern(String datePattern) {
this.datePattern = datePattern;
}
// Converter<S,T>接口的类型转换方法
public Date convert(String date) {
try {
SimpleDateFormat dateFormat = new SimpleDateFormat(this.datePattern);
// 将日期字符串转换成Date类型返回
return dateFormat.parse(date);
} catch (Exception e) {
e.printStackTrace();
System.out.println("日期转换失败!");
return null;
}
}
}
b.配置自定义转换器
<!-- 装配自定义的类型转换器 -->
<mvc:annotation-driven conversion-service="conversionService"/>
<!-- 自定义的类型转换器 -->
<bean id="conversionService"
class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<list>
<bean class="priv.yzying.converter.StringToDateConverter"
p:datePattern="yyyy-MM-dd"></bean>
</list>
</property>
</bean>
2.使用@IintBinder,注册控制器转换,配合 PropertyEditorSupport
a.定义属性编辑器,实现 PropertyEditorSupport 类
// 自定义属性编辑器
public class DateEditor extends PropertyEditorSupport {
// 将传如的字符串数据转换成Date类型
@Override
public void setAsText(String text) throws IllegalArgumentException {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = dateFormat.parse(text);
setValue(date);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
b.控制器注册属性编辑器
@InitBinder
public void initBinder(WebDataBinder binder){
binder.registerCustomEditor(Date.class,new DateEditor());
}
3.使用WebBindingInitializer注册全局自定义编辑器转换数据
a.定义属性编辑器,实现
// 自定义属性编辑器
public class DateEditor extends PropertyEditorSupport {
// 将传如的字符串数据转换成Date类型
@Override
public void setAsText(String text) throws IllegalArgumentException {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = dateFormat.parse(text);
setValue(date);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
b.定义WebBindingInitializer实现类
// 实现WebBindingInitializer接口
public class DateBindingInitializer implements WebBindingInitializer {
@Override
public void initBinder(WebDataBinder binder, WebRequest request) {
// 注册自定义编辑器
binder.registerCustomEditor(Date.class, new DateEditor());
}
}
c.配置自定义转换编辑器
<!-- 通过AnnotationMethodHandlerAdapter装配自定义编辑器 -->
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="webBindingInitializer">
<bean class="org.fkjava.binding.DateBindingInitializer" />
</property>
</bean>
以上几种方式优先级:@InitBinder > ConversionService > WebBindingInitializer
阅读全文
0 0
- JAVA Spring web mvc 学习 之 6:数据类型转换
- JAVA Spring web mvc 学习 之 6:数据类型转换 -格式转换
- JAVA Spring web mvc 学习 之 2
- JAVA Spring web mvc 学习 之 1
- JAVA Spring web mvc 学习 之 6:数据验证
- Spring MVC学习(七)-------SpringMVC数据类型转换
- Spring MVC学习(七)-------SpringMVC数据类型转换
- JAVA Spring web mvc 学习 之 3:DispatcherServlet
- JAVA Spring web mvc 学习 之 4:注解
- JAVA Spring web mvc 学习 之 5:JSON
- Java.Web学习笔记 spring MVC
- Java拾遗之Spring Web MVc
- Java学习总结之数据类型转换
- Spring3 Web MVC下的数据类型转换
- Spring3 Web MVC下的数据类型转换
- Spring MVC-自定义数据类型转换解决方案
- spring mvc学习心得(一)数据类型转换
- 第四章:数据类型转换——深入浅出学Spring Web MVC
- JAVA运行时数据区域
- 双向链表-C/C++-多项式操作
- Maven镜像库,国内常用
- 四、使用jQuery操作页面
- 线性表的基本操作实现及其应用
- JAVA Spring web mvc 学习 之 6:数据类型转换
- 数组中的逆序对
- Trie树(Prefix Tree)介绍
- 数学函数的用法
- python安装深度学习框架
- 分析iOS Crash文件:符号化iOS Crash文件的3种方法
- include指令和include动作有什么区别?
- 前端面试题集合
- 什么是JS中的弱引用?