自定义类型转换器

原创 2012年03月30日 09:42:20

package com.ultratest.oa.system;

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

import com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter;

public class DateConvertor extends DefaultTypeConverter {

 private static final SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
 /**
  * context是类型转换环境的上下文
  * value是转换的参数。随着转换方向的不同value的值也不同
  * toType是转换后的目标类型
  *
  * */
 @Override
 public Object convertValue(Map context, Object value, Class toType) {
  //当需要字符串向date类型转换时
  if (toType == Date.class) {
   String dateString = null;
   //获取请求参数
   String[] params = (String[]) value;
   //只处理请求参数的第一个数组元素
   dateString = params[0];
   try {
    return simpleDateFormat.parse(dateString);
   } catch (Exception e) {}
   return null;
  }
  else if (toType == String.class) {  //当需要日期类型向字符串转换时
   Date date = (Date) value;        //将需要转换的值强制类型转换成date类型
   return simpleDateFormat.format(date);
  }
  return null;
 }
}

 

类型转换器的注册:

局部类型转换器注册只针对某一个Action生效

在action文件中加入一个配置文件如:LoginAction-conversion.properties

全局类型转换器注册针对所有的Action都生效

在src下配置xwork-conversion.properties;

java.util.Date=com.ultratest.oa.system.DateConversion

Spring中的自定义类型转换器

ConversionService 是 Spring 类型转换体系的核心接口。可以利用 ConversionServiceFactoryBean 在 Spring 的 IOC容器中定义一个 Conve...
  • yalishadaa
  • yalishadaa
  • 2017年05月06日 15:07
  • 738

Struts2自定义类型转换器分为局部类型转换器和全局类型转换器

Struts2自定义类型转换器分为局部类型转换器和全局类型转换器 (1)局部类型转换器  如果页面传来一个参数reg.action?birthday=2010-11-12到后台action,然...
  • y352789182
  • y352789182
  • 2015年09月13日 20:26
  • 234

Struts2实现自定义转换器和全局类型转换器

在action中有个字段是birthday是date类型,当我们传值时必须写成1999-01-01它才会自动类型转换,但在有些时候有这样的需求要写成19990101这样默认就不会进行自动类型转换,这样...
  • furongkang
  • furongkang
  • 2011年10月31日 15:32
  • 5564

struts自定义类型转换器DefaultTypeConverter

一、bean public class User { private String name; private String pass; //name属性的setter和getter方法 ...
  • q3498233
  • q3498233
  • 2011年12月15日 14:40
  • 1800

【Struts2框架】第七节类型转换-类型转换原理和自定义类型转换器实例

1.类型转换原理 类型转换是struts拦截器来实现的。 类型转换的意思是能够把参数转换成action里面所需要的类型。 转换不了可以使用自己写的转换器(但几乎不用自己写)。 在struts的传参过...
  • u013517797
  • u013517797
  • 2015年07月30日 21:44
  • 2462

springMvc自定义类型转换器(把接收参数String转成为Date类型)

1.  首先创建一个类,实现Converter接口,并实现其未实现方法。 2.  将该转换器配置在SpringMvc.xml上,并注册在注解驱动上。...
  • a13580529499
  • a13580529499
  • 2018年02月07日 14:43
  • 16

自定义类型转换器(转换器的注册方法)

类型转换拦截器:把参数转换为action使用的格式,从客户端传过来的任何数据都是字符串类型的,struts2提供了一些转换器,如:字符串转整数,字符串转集合,字符串转日期。然而有些类型struts2并...
  • centre10
  • centre10
  • 2010年12月05日 14:47
  • 2337

Struts2自定义类型转换器失效的解决

自定义类型转换器的配置有两中方式:在使用局部自定义类型转换器时,在对应Action类所在的包下新建xxxAction-conversion.properties文件,其他配置一切正常,页面提交数据至A...
  • C_____Lee
  • C_____Lee
  • 2017年05月04日 15:28
  • 406

自定义类型转换器--局部和全局

在Struts2框架中使用自定义类型转换器需要注册,这样在处理用户请求的时候系统才知道使用哪个类型转换器进行转换。 1、 注册局部类型转换器 局部类型转换器的作用范围为Action范围。注册局部类型转...
  • xh16319
  • xh16319
  • 2012年10月06日 12:30
  • 2451

mybatis typeHandler自定义类型转换器

有这样一个需求: 有一个布尔型的字段需要保存到数据库中,但是数据库不支持布尔类型,因此采用一位字符(char(1))来存储这个布尔值,javabean中仍然采用boolean类型。 我们采...
  • jacob_shen
  • jacob_shen
  • 2014年04月17日 09:01
  • 1950
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:自定义类型转换器
举报原因:
原因补充:

(最多只允许输入30个字)