浪迹天涯
web报表设计器....
posts - 61,comments - 71,trackbacks - 0
第一步:编写一个类去继承ognl.DefaultTypeConverter然后重写里面的public Object convertValue(Map context, Object value, Class toType)方法,
下面是例子
package com.insigma.hr.comm;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;

import ognl.DefaultTypeConverter;

@SuppressWarnings(
"unchecked")
public class DateConverter extends DefaultTypeConverter {
    
public Object convertValue(Map context, Object value, Class toType) {
        
try {
            
if (toType == Date.class// 如果想转换的是Date类型时将做以下操作
                
// 因为在Struts2里会表单传过来的非字符串数据转换为String[],所以这里得取第一个值
                String dataStr = ((String[]) value)[0];
                SimpleDateFormat f 
= new SimpleDateFormat("yyyy-MM-dd"); // 转换为自己想要日期格式
                return f.parse(dataStr);
            }
 else if (toType == String.class{
                String dataStr 
= ((Date) value).toString();
                
return dataStr;
            }

        }
 catch (ParseException e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }

        
return null;

    }

}

第二步:在/WEB-INF/classes文件夹(src)下创建一个叫:xwork-conversion.properties的文件
第三步:在里面添加一句话 java.util.Date=com.insigma.hr.comm.DateConverter(指上面新建的类)。
然后重启系统就OK了。 那么在将数据提交到后台时,便后自动的将对应的String类型的数据转换成Date类型了。
posted on 2012-09-20 09:11 JJCEA 阅读(2212) 评论(1)  编辑  收藏 所属分类: java日记struts

FeedBack:
# re: struts2页面到action中date类型自动转换
2016-03-21 20:12 | 看一天后台
和恢复  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: