`

类型转化器(Converter)

阅读更多
类型转换器
自定义类型转换器
下面的action中使用到了枚举类型Gender,当需要将请求参数注入到gender属性时,我们必须定义转换器,否则struts2无法自动完成类型转换。

public class HelloWorldAction {
private Gender gender;
public Gender getGender() {
return gender;
}
public void setGender(Gender gender) {
this.gender = gender;
}
}

public enum Gender {
MAN,WOMEN
}

下面定义了一个针对Gender类型的类型转换器:
public class GenderConverter extends DefaultTypeConverter {
@Override
public Object convertValue(Map context, Object value, Class toType) {
if(toType == Gender.class){//当字符串向Gender类型转换时
String[] params = (String[]) value;
return Gender.valueOf(params[0]);
}else if(toType == String.class){//当Gender转换成字符串时
Gender gender = (Gender) value;
return gender.toString();
}
return null;
}
}
将上面的类型转换器注册为局部类型转换器:
在Action类所在的包下放置ActionClassName-conversion.properties文件,ActionClassName是Action的类名,后面的-conversion.properties是固定写法,对于本例而言,文件的名称应为HelloWorldAction-conversion.properties 。在properties文件中的内容为:
属性名称=类型转换器的全类名
对于本例而言, HelloWorldAction-conversion.properties文件中的内容为:
gender= net.xabc.conversion.GenderConverter

将上面的类型转换器注册为全局类型转换器:
在WEB-INF/classes下放置xwork-conversion.properties文件 。在properties文件中的内容为:
待转换的类型=类型转换器的全类名
对于本例而言, xwork-conversion.properties文件中的内容为:
net.xabc.action.Gender= net.xabc.conversion.GenderConverter

分享到:
评论

相关推荐

    converter实现

    自定义类型转化器的实现

    debezium-datetime-converter:Debezium自定义转换器用于处理mysql datetime类型的问题

    Debezium自定义转换器用于处理mysql datetime类型的问题 MySQL的 Binlog连接器 德比兹 德比兹图式 日期(2021-01-28) 本地日期(2021-01-28) 整数(18655) 碘化氢时间日期 时间(17:29:04) 期间(PT17H29M4...

    苹果 HEIC 转换器 Aiseesoft HEIC Converter 1.0.12.zip

    Aiseesoft HEIC Converter 中文版Aiseesoft HEIC Converter 中文版 HEIC vs .JPG vd .PNG 在 iOS 11 中,Apple 宣布将 HEIF(.HEIC)格式替换为 JPEG 图像格式。那么 HEIC 是什么?这种新的图像格式如何? HEIC 是 ...

    gvas-converter:虚幻引擎4保存游戏转换器

    虚幻引擎4保存游戏转换器 此库和简单的控制台工具将其将普通的UE4保存游戏文件转换为json,以便于分析。 Bakc转换在理论上是可能的,但未实现。 由于UE4序列化数据的方式的限制,某些数据类型可能会丢失,并且可能...

    多功能视频转换工具 Program4Pc Video Converter Pro 9.8..zip

    Program4Pc Video Converter Pro 注册版是方便,快捷,可靠的视频转换器,支持并转换一个巨大的视频格式数组。此视频转换器是独一无二的,因为你可以做的不仅仅是转换视频,你可以改变屏幕分辨率,音频编解码器,...

    svg-path-converter:SVG到JS的路径转换器

    svg-path-converter NPM模块,用于将svgs转换为单路径。 这对于图标和其他单色SVG很有用。 当前不支持<text> 。 基于初始代码。安装npm install --save svg-path-converter更新版本1.0.12 修复了当使用...选项选项类型

    springMVC4之强大类型转换器实例解析

    本篇文章主要介绍了springMVC4之强大类型转换器实例解析,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    rtcm3torinex_rtcm3torinex_RTCM3_college9rr_

    手册为rtcm3torinex 程序rtcm3torinex是一种来自NT RIP流RTCM3的实时转换器 数据进入RINE X格式。 RTCM3定义了许多消息类型。

    基础电子中的电源的分类你知多少?

     电源转换器(Power Converter):能够将电力能源的形式进行控制、转换的装置。按转换类型的不同,又可细分如下:  1、根据转换的形式分类:AC-AC、AC-DC、DC-DC、DC-AC  2、根据转换的方法分类:线性电源、...

    电源的分类你知多少?

     电源转换器(Power Converter):能够将电力能源的形式进行控制、转换的装置。按转换类型的不同,又可细分如下:  1、根据转换的形式分类:AC-AC、AC-DC、DC-DC、DC-AC  2、根据转换的方法分类:线性电源、...

Global site tag (gtag.js) - Google Analytics