Struts中的类型转换1

来源:互联网 发布:域名别名是什么 编辑:程序博客网 时间:2024/06/05 06:19

Struts中的类型转换1


基本类型转换

Struts2框架提供了一系列的基本类型转换器,可以在字符串类型和其他类型之间互相转换.
支持的类型如下:
String, boolean, char, int, dates, arrays, collections, Enumerations, BigDemical, BigInteger

在进行类型转换的时候,我们首先要创建一个JavaBean类
然后在Action中声明该Bean,并setter/getter
对于简单的数据类型,Struts2框架会帮我们自动转换
前提是我们定义好了标签的属性

  • 这里要说明一下关于属性的问题

1 如果只是一个用户的话,只需要简单的定义一个类即可

private User user;//这里定义的是单个user 标签属性设置 name="user.XXXX"即可

2 如果我们将用ArrayList来装数据,在表单的标签中要使用数组形式来命名
(这里要说明的是由于struts框架,数组名必须是ArrayList示例的名称)

private ArrayList<User> users;// 例如这里定义的是users   那么在标签中属性name就要设置为name="users[i].XXXX"// 如果没有定义泛型,可以采用配置文件形式来获取每个对象

这里只简单介绍一下关于ArrayList的配置文件形式

Element_users = com.model.User// 需要注意这里的文件名字必须符合规则// 然后将Action中的元素匹配对应的类,其中的转换过程有框架自动完成

3 如果我们用Map来装数据,标签中的名字又与ArrayList中不一样

private Map<String, User> users;// 这里的String是用来做什么的呢? 其实很简单// 首先观察标签中name的书写形式// name="users['first'].XXXX"// String就是用来接收first这一字符串来进行分组的,其实实际上与ArrayList的原理是一致的,不过就是ArrayList使用的是位置下标index,而Map是自定义的字符串,实际原理都是用来确定独立的空间位置

这里介绍一下关于Map的配置文件形式

Element_users = com.model.UserKey_users = java.lang.String

这里简单总结一下集合的类型转换:
1. 给集合定义泛型,框架将会自动完成转换
2. 不定义泛型,在局部转换配置文件中声明对应的类型

0 0