首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

五.Struts2 类型转换

2013-11-22 
5.Struts2 类型转换1.Struts2内建的类型转换器:String ---~boolean|Boolean~char|Character~int|Integer~

5.Struts2 类型转换
1.Struts2内建的类型转换器:
String --->
~boolean|Boolean
~char|Character
~int|Integer
~long|Long
~float|Float
~double|Double
~Date 根据用户所在的locale的short格式
~数组 默认情况数据元素是 String, 用户可以提供自定义的类型转换器。
~组合 默认情况数据元素是 String,并且创建一个Aarraylist封装所有的字符串。

2.基于OGNL的类型转换
2.1
pirvate User user
user.name
user.pass

2.2
private Map<String,User> users;
users['one'].name;
users['one'].pass;
users['two'].name;
users['two'].pass;

2.3
private List<String> users;
users[0].name
users[0].pass
users[1].name
users[1].pass

3.自定义类型转换器

interface:TypeConverter
superclass:DefaultTypeConverter
局部类型转换器:ActionName-conversion.properties
propertname=转化器类
全局类型转换器:xwork-conversion.properties
属性类(javabean)=转化器类

4.基于struts2的类型转化器
class:StrutsTypeConverter
function:converterFromString,converterToString

5.数组属性的类型转换器
写转换类的时候,考虑数组情况的分支。

6.集合属性的类型转换器
与5类似。

另,struts默认支持数组和list之间的转换。

高级:
7.制定集合元素的类型:
7.1 通过范型。
7.2 通过局部文件:***-conversion.properties
list:Element_users=lee.User
map:key_***=key元素类型
    Element_***=value元素类型

jsp:--->
<s:property value="user[0].name">
7.3.给set制定索引
Element_users=lee.User
KeyProperty_users=name

jsp:--->
<s:property value="user('jacky').name">

8.类型转换中的错误处理
8.1 如果Action继承ActionSupport,会使用到conversionError这个拦截器
8.2 <s:fieldError/>
8.3 在国际化资源中使用,xwork.default.invalid.fieldvalue={0}字段类型转换失败。
8.4 在局部文件ActionName.properties中使用,invalid.fieldvalue.属性名=提示文字。

热点排行