[转载] 第二章 struts2类型转换
来源:互联网 发布:jquery hightlight.js 编辑:程序博客网 时间:2024/04/29 22:40
一、 struts2类型转换一
1、struts2的类型转换是基于ognl的类型转换。主要实现TypeConverter这个类,它对于类型转换的实现,它描述了一种最通用的情况,所以一般不去实现这个接口,它提供了一个接口实现的类DefaultTypeConverter。自己的类继承DefaultTypeConverter重写convertValue方法来完成类型转换。
2、convertValue(Map context,Object value,Class toType)web应用程序分为两种情况,一:客户端字符串到自定义类型的转换;二:在页面进行输出时,是从服务器到客户端的转换,即是从自定义类型到字符串的转换。toType是目标类型即如果是String则是第二种情况否则是第一种情况。
3、ActionSupport类实现了接口Action。Action定义了struts2的一个基本模型,里面有ERROR:有错误、INPUT:验证没有成功、LOGIN:没有成功,因为用户没有登录、NONE:表示action操作成功但是不显示任何视图、SUCCESS:成功,它们都对应struts.xml里<result>里的name属性的值最好显示写出;最好用Action里的字符串来返回。
4、写一个属性文件来设定struts2的转换工作。这个属性文件一定要与action在同一个包内。这个属性文件名是:”action类名-conversion.properties”。
5、在属性文件里是以key与value的性质,key是struts2要转换的属性名,value是转换这个属性的类。当用户要转换多个属性里可以换行加多个。
二、struts2类型转换二
1、当需要转换多个自定义类型的类的化需要全局类型转换。局部类型转换是对某一个特定的类进行转换,而全局的是在当前系统里所有符全要求的进行类型转换。全局类型转换需要在classes目录下建立一个名为xwork-conversion.properties的属性文件(名字不可以更改),在里面写配置信息。形式是:要转换类的名=作为转换器的类。
2、在属性文件里注释一行用的是“#”号。
3、不管是全局的类型转换还是局部的类型转换都是用一个类extends DefaultTypeConverter类里的convertValue方法来转换的。而DefaultTypeConverter则是实现了TypeConverter接口来实现类型转换的。
4、struts2类型转换是基于ognl的。struts2提供了一个更加简化的类型转化方式,它本身也是基于ognl实现的。就是类型转换类继承org.apache.struts2.util包里的StrutsTypeConverter类。它是继承com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter类。StrutsTypeConverter是一个抽象类,在它里是面有convertToString(Map context, Object o)与convertFromString(Map context, String[] values, Class toClass)两个抽象方法,分别是从字符串开始转换与转换到字符串。它是struts2类型转换的核心,真正项目是继承StrutsTypeConverter的,而不是继承DefaultTypeConverter。
5、StrutsTypeConverter继承DefaultTypeConverter后要去重写convertValue方法,里面toClass与String.class进行比较,如果为真则调用convertToString方法否则调用convertFromString方法。
6、如果用户实现完继承StrutsTypeConverter的类后,只需要添加到属性文件即可。
7、在struts2中页面也可以把控件的名字写为:类对象名.属性名,这个方式这个类必须提供一个没有参数的构造方法。这种写法对表单会很麻烦,绝对不能有它。
8、在页面显示一个类的时候,它会默认调用这个类的toString()方法。
- [转载] 第二章 struts2类型转换
- [转载]struts2 值栈与类型转换
- Struts2中的类型转换(转载及修改)
- Struts2中的类型转换(转载及修改)
- 第二章 java基础(类型转换)
- 第二篇:类型转换
- 【Struts2】:Struts2的类型转换
- 第七章 类型转换:深入浅出struts2
- 《深入浅出struts2》--第七章,类型转换
- struts2类型转换
- struts2类型转换续
- Struts2的类型转换
- struts2 类型转换流程
- Struts2中的类型转换
- [struts2]类型转换笔记
- struts2的类型转换
- Struts2之类型转换
- struts2的类型转换
- 文件上传下载
- Extending your skills for increased job security
- malloc(0)返回什么地址?
- 网页颜色代码表
- 第二章设计 Web 门户和 Widget 架构
- [转载] 第二章 struts2类型转换
- 程序员修炼
- Linux网管笔记(18):对Linux系统下的开发环境梳理
- [转载] 第三章 struts2校验
- ASP.NET 3.5 要如何安裝在 IIS 中?
- 测试一下
- java 栈与堆 今天真是学习了!!
- 在Linux部署项目时,jdk的问题
- [转载] 第四章 struts2校验框架