struts2 自定义转换器

来源:互联网 发布:淘宝棉麻女装品牌 编辑:程序博客网 时间:2024/05/14 07:23

自定义转换器: 创建一个类,继承StrutsTypeConverter 然后实现两个抽象方法。

比如下面的时间转换:

convertFromString  转成对象;

convertToString,转成string;

只有在使用<s:property/>的时候才能调用convertToString

package com.jelly.convert;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Map;import org.apache.struts2.util.StrutsTypeConverter;public class DateConvert extends StrutsTypeConverter{private final SimpleDateFormat[] simpleDateFormat ={new SimpleDateFormat("yyyy-MM-dd"),new SimpleDateFormat("yyyy/MM/dd"),new SimpleDateFormat("yyyy年MM月dd日")};@Overridepublic Object convertFromString(Map context, String[] values, Class toClass) {java.util.Date date = null;for(int i=0;i<simpleDateFormat.length;i++){try {date = simpleDateFormat[i].parse(values[0]);} catch (ParseException e) {continue;}}return date;}@Overridepublic String convertToString(Map context, Object o) {if(o instanceof Date){return new SimpleDateFormat("yyyy-MM-dd").format(o);}return o != null ? o.toString(): null;}}

如果这个转换器针对整个项目。就在src目录下创建一个xwork-conversion.properties,在里面写入:java.util.Date=com.jelly.convert.DateConvert 然后就可以了

如果是针对于某个类,就放在类目了下 类名-conversion.properties



原创粉丝点击