SpringMVC学习笔记六:使用Formatter解析或格式化数据
2017-05-09 21:53
597 查看
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6832903.html
Converter可以将一种类型转换成另一种类型,是任意Object之间的类型转换。
Formatter则只能进行String与任意Object对象的转换,它提供 解析 与 格式化 两种功能。
其中:解析是将String类型字符串转换为任意Object对象,格式化是将任意Object对象转换为字符串进行格式化显示。
使用Formatter
1: 实现Formatter<T>接口定义一个类,T为要解析得到或进行格式化的数据类型。
在类中实现两个方法:String print(T t,Locale locale)和 T parse(String sourse,Locale locale),前者把T类型对象解析为字符串形式返回,后者由字符串解析得到T类型对象。
2:在SpringMVC配置文件中配置自定义格式转换器
Converter可以将一种类型转换成另一种类型,是任意Object之间的类型转换。
Formatter则只能进行String与任意Object对象的转换,它提供 解析 与 格式化 两种功能。
其中:解析是将String类型字符串转换为任意Object对象,格式化是将任意Object对象转换为字符串进行格式化显示。
使用Formatter
1: 实现Formatter<T>接口定义一个类,T为要解析得到或进行格式化的数据类型。
在类中实现两个方法:String print(T t,Locale locale)和 T parse(String sourse,Locale locale),前者把T类型对象解析为字符串形式返回,后者由字符串解析得到T类型对象。
public class DateFormatter implements Formatter<Date>{ private String datePattern; private SimpleDateFormat dateFormat; public DateFormatter(String datePattern) { this.dateFormat = dateFormat; dateFormat = new SimpleDateFormat(datePattern); dateFormat.setLenient(false); } public Date parse(String s, Locale locale) throws ParseException { try { SimpleDateFormat dateFormat = new SimpleDateFormat(datePattern); dateFormat.setLenient(false); return dateFormat.parse(s); } catch (ParseException e) { throw new IllegalArgumentException("invalid date format. Please use this pattern\"" + datePattern + "\""); } } public String print(Date date, Locale locale) { return dateFormat.format(date); } }
2:在SpringMVC配置文件中配置自定义格式转换器
<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">//注册 <property name="formatters"> <set>//在FormattingConversionServiceFactoryBean中,formatters是一个set变量 <bean class="路径.DateFormatter">//实现类的路径 <constructor-arg name="datePattern" value="yyyy-MM-dd"/>//注入构造参数,指定格式 </bean> </set> </property> </bean> <mvc:annotation-driven conversion-service="conversionService"/>//装配
相关文章推荐
- 【Spring学习笔记-MVC-9】SpringMVC数据格式化之日期转换@DateTimeFormat
- Scrapy 入门学习笔记(3) -- 使用 Item 类转换传输数据以及ItemLoader 机制解析
- Andorid中使用Gson和Fast-json解析库解析JSON数据---第三方库学习笔记(二)
- springmvc学习笔记(25)——数据格式化与数据校验
- android菜鸟学习笔记25----与服务器端交互(二)解析服务端返回的json数据及使用一个开源组件请求服务端数据
- SilverLight学习笔记--关于使用IValueConvert对绑定数据的格式化操作
- SpringMVC学习笔记六:使用 hibernate-validator注解式数据校验
- Cocos2dx学习笔记37 Json 数据解析rapidjson库的使用
- 学习笔记 Tianmao 篇 使用简单封装后的自定义OkHttp 获取json被GSON解析后的数据
- SilverLight学习笔记--关于使用IValueConvert对绑定数据的格式化操作
- WPF and Silverlight 学习笔记(二十五):使用CollectionView实现对绑定数据的排序、筛选、分组
- WPF and Silverlight 学习笔记(二十二):使用代码实现绑定、绑定数据的验证
- oracle 学习笔记(3)--使用子查询更新数据
- jQuery学习笔记--ajax查询,jQuery解析返回的json数据 详解
- Flex学习笔记_05 使用组件处理数据和交互_01常用组件
- DirectSound学习笔记:使用WAV数据
- 微软企业库4.1学习笔记(三十二)数据访问模块 在应用中使用数据访问模块
- WCF学习笔记(二)使用Name等属性和数据契约
- LAMP兄弟连PHP课程学习笔记 第二天 数据类型和变量使用
- 微软企业库4.1学习笔记(三十二)数据访问模块 在应用中使用数据访问模块