`
1140566087
  • 浏览: 547842 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
博客专栏
2c4ae07c-10c2-3bb0-a106-d91fe0a10f37
c/c++ 入门笔记
浏览量:18078
3161ba8d-c410-3ef9-871c-3e48524c5263
Android 学习笔记
浏览量:309558
Group-logo
J2ME 基础学习课程集
浏览量:18008
A98a97d4-eb03-3faf-af96-c7c28f709feb
Spring 学习过程记录...
浏览量:17196
社区版块
存档分类
最新评论

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路径的根目录;	
					
集合属性类型转换器:
					将数据类型写为集合的模式;						
	
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics