Struts2中的类型转换

第四章Struts2中的类型转换

1、将一种类型转换为另一种类型的过程称为类型转换。因为数据在网络之间互相传递是以字符串类型进行传递的,又是需要将其传换为其他可用的数据类型。

2、数据转换分为普通类型的转换,还有自定义类型数据的转换。普通类型的数据转换很简单,而对于自定义的数据类型却无能为力,在Struts2之前,同常会选择Servlet来获取数据,然后根据定义类型进行转换。现在Struts2中可以用OGNL的类型转换器。

3、实现类型转换可以选择基于OGNL表单的方式,首先需要将ognl-x.x.x.jar包导入项目中,因为类型转换时需要使用该包中的TypeConverter接口。在这个接口中定义了一个converValue方法。OGNL还提供了一个实现TypeConverter接口的类DefaultTtypeConverter,如果继承该类,则需要重写convertValue方法,DefaultTypeConverter的定义格式:

Public interface DefaultTypeConverter{

Public object converValue(Map context, Object value, Class toType);

}

三个参数中context参数表示类型转换的上下文环境;value表示需要进行转换的参数,toType表示被转换的膜表类型。

4、在对类型转换器进行全局注册时要使用到Properties文件,而该文件的命名和文件内容都是有一定的规范的。Xwork-convversion.properties。

5、局部类型转换器注册:仅仅正对某个Action起作用,局部类型转换器注册只需要在相应的Action目录下创建一个有规则名称的资源文件即可。ActionName-conversion.properties。其中ActionName表示需要转换的Action类名,后面的是固定格式。在注册局部类型转换器时,如果一个Action类有多个对象,则需要为每个对象都设置一次。

6、全局类型转换器注册:实现全局类型转换器注册需要提供一个xwork-conversion.properties文件,该文件必须存放在src文件夹下。,存储的内容有所不同,规则:复合类型=对应类型转换器,复合类型表示指定需要完成类型转换的复合类;对应类型转换器表示所指定的类型转换器。

使用OGNL表达式可以将用户提交的信息转换为复合类型进行使用。

转载于:https://my.oschina.net/xhr63/blog/740207

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值