欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Struts2的类型转换

程序员文章站 2022-05-16 08:45:01
...
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路径的根目录;	
					
集合属性类型转换器:
					将数据类型写为集合的模式;						
	
相关标签: struts2 框架