struts2 之 类型转换
2012-03-19 15:39
369 查看
struts2 支持 一些基本类型转换,对于不支持的我们可以 自己定义一些类型转换器
比如要实现如下功能:
要求生日(Date类型)的输入格式如上,Struts2支持 的格式为“2012-02-23”这种类型,所以我们要写自己的转换器
实现类可如下:
定义为局部转换器:
在action类同级目录下,新建.properties类型文件,文件名:Action类名-conversion.propertites,并添加以属性名为键、转换器类名为值的键值对
在src目录下新建.properties类型文件,文件名:xwork-conversion.propertites,并添加以java.util.Date为键、转换器类名为值的键值对
类型转换错误处理:
下图是类型转换的错误处理流程:
当类型转换出现异常时,系统的conversionError拦截器就会处理该异常,处理结束后返回名为input的逻辑视图,并可通过<s:fielderror /> 在该视图中输出错误 信息,注意action应该继承ActionSupport。
比如要实现如下功能:
要求生日(Date类型)的输入格式如上,Struts2支持 的格式为“2012-02-23”这种类型,所以我们要写自己的转换器
实现类可如下:
import java.text.SimpleDateFormat; import java.util.*; import org.apache.struts2.util.StrutsTypeConverter; public class DateTypeConverter extends StrutsTypeConverter {//继承StrutsTypeConverter @Override public Object convertFromString(Map arg0, String[] value, Class toType) {//转换为Date类型 SimpleDateFormat sf = new SimpleDateFormat("yyyyMMdd"); String[] params = null; try { if (toType == Date.class) { params = (String[]) value; return sf.parse(params[0]); } } catch (Exception e) { } return null; } @Override public String convertToString(Map arg0, Object arg1) {//转换为String类型 return arg1.toString(); } }
定义为局部转换器:
在action类同级目录下,新建.properties类型文件,文件名:Action类名-conversion.propertites,并添加以属性名为键、转换器类名为值的键值对
birthday=cn.ljf.DateTypeConverter定义为全局:
在src目录下新建.properties类型文件,文件名:xwork-conversion.propertites,并添加以java.util.Date为键、转换器类名为值的键值对
java.util.Date=cn.ljf.DateTypeConverter
类型转换错误处理:
下图是类型转换的错误处理流程:
当类型转换出现异常时,系统的conversionError拦截器就会处理该异常,处理结束后返回名为input的逻辑视图,并可通过<s:fielderror /> 在该视图中输出错误 信息,注意action应该继承ActionSupport。
相关文章推荐
- 关于struts2中类型转换的认识
- Struts2学习笔记之类型转换 二
- Struts2:类型转换之批量封装Set集合类型的属性
- Struts2的类型转换
- 关于Struts2的类型转换详解
- Struts2类型转换学习笔记
- Struts2类型转换
- Struts2-10 类型转换
- Struts2中的类型转换器学习(升级版)
- Struts2的类型转换详解
- Struts2自定义类型转换,和处理类型转换错误
- 详解Struts2的类型转换
- Struts2中的一个类型转换示例
- Struts2类型转换TypeConverter源码阅读笔记
- Struts2类型转换和自定义类型
- Struts2第五篇【类型转换器、全局、局部类型转换器】
- struts2中的类型转换
- 4.1.3: Struts2的类型转换---指定集合元素的类型
- Struts2学习笔记4:Struts2的类型转换【2】
- 坠落凡间的struts2(3)---struts2的类型转换