一、 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类型转换 http://d.download.csdn.net/down/504226/sunrain_gao
struts2类型转换和国际化 根据自己所做实例 详细介绍
struts2 类型转换 数据校验
struts2类型转换机制
NULL 博文链接:https://azrael6619.iteye.com/blog/415106
这是一个关于struts2的类型转换 以及 拦截器 还有校验的例子
struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换
熟悉和掌握Struts2自定义类型转换。 熟悉和掌握Struts2内建校验的操作方法 实验环境与设备: 已经接入局域网的网络实验室,机器上装有IE浏览器等; strtus2.5.8 实验内容: (1) 编写一个...
自己用struts2写的一个简单的局部数据类型转换实例,适合初学者
NULL 博文链接:https://cdxs2.iteye.com/blog/1931878
服务器可以接收到的来自用户的数据只能是字符串或者是字符串数组,而在服务器上的对象中 ,这些数据往往有多种不同的类型,如日期(Date) 整数(int) 浮点数... 要实现 上述的转换 ,Struts2中 提供了 converter。
可以详细了解struts2的流程,便于学习和研究struts2,大家可以交流学习。
配合博文:http://blog.csdn.net/u011638419/article/details/41276445
软件硕士张龙老师,对Struts2类型转换器的说明源代码,以及批量插入数据的源代码,不改动任何代码的情况下进行类型转换。
NULL 博文链接:https://fangguanhong.iteye.com/blog/1771068