Struts2的类型转换

0.
<%@ taglib prefix="s" uri="/struts-tags" %>

注:使用OGNL 表达式为复合类型的实例对象的属性赋值,那么在该类复合类型定义中,必须提供
该属性setter方法,以为Struts2 框架是通过该方法来完成赋值的,而不是直接赋值该属性;

Struts2 中常用的内置转换器:
String : 将int long double boolean String 类型的数组或java.util.Date类型转换为字符创;
boolean/Boolean 在字符串和布尔值之间进行转换
int/Integer float/Float longLong double/Double :在字符串和数值型的数据之间进行转换;
date : 在字符串和日期类型之间进行转换,对于日期类型,采用SHORT格式来处理输入和输出,使用当前请求相关联的Locale来确定日期格式;
collection : 如果不能确定对象的类型,择假定集合元素类型为String ,并创建一个新的ArrayList,存放所有的字符串;


基于OGNL 的类型的转换器:
Struts2 的转换器都要实现一个TypeConverter 接口(位于:ognl-2.7.3.jar),该接口定义了一个convertValue()方法,实现该接口类型的转换器实现类都要重写该
方法机型类型转换。

案例:编写一个自定义的类型转换器:
1、类型转换需求; 坐标:x,y
2、编写point类
3、编写pointAction 业务逻辑控制
String[] paramValues=(String[]) value; //注:当把一个字符串类型转换成一个复合类型时,value 参数为一个字符串数组类型,而不是字符串类型
4、编写自定义转换器
5、注册类型转换器 :PointAction 对应的属性文件为:PointAction-conversion.properties 文件内容:p=转换类的路径
6、编写视图资源文件
7、添加action配置
8、测试部署

注册自定义转换器:
局部类型转换器、全局类型转换器
* 注册局部类型转换器:
作用范围:action 范围,在action类文件相同的目录下创建一个命名规则为:ActionName-conversion.properties的属性文件
文件内容:prpertyName = 类型转换器(路径)
propertyName 指的就是action中进行类型转换的复合类型属性名称;

* 注册全局类型转换器:
即:凡是使用该复合类型数据的类型的转换器;
建立:xwork-conversion.properties 属性文件;该文件内容定义为:复合类型-对应的类型转换器
com.entity.Point = com.struts.typeconvert.PointConverter
com.entity.Point:指定了需要类型转换的复合类型;
该属性文件要保存在class路径的根目录;

集合属性类型转换器:
将数据类型写为集合的模式;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值