标签:
public class LoginAction implements Action{
private List users;
public void setUsers(List users){
this.users=users;
}
public List getUsers(){
return this.users;
}
public String execute() throws Exception{
return "SUCCESS";
}
}
例如这样一个例子,我们没有使用泛型,struts2无法知道Action的users属性里集合元素的类型。
struts2可以让开发者通过局部类型转换文件来指定集合元素的类型。类型转换文件是一个普通的Properties(.*properties)文件,类型转换文件里提供了类型转换的相关配置信息。
类型转换文件的文件名应该是:ActionName-conversion.properties形式,其中ActionName是Action的类名,后面的-conversion.properties字符串是固定部分。类型转换文件应该放在和Action类文件相同的位置。
例如为上面的Action提供一个类型转换文件,在该Action相同的目录下新建一个LoginAction-conversion.properties文件,然后在该文件中添加key-value对
Element_users=com.test.domain.User
指定users集合属性的集合元素类型是com.test.domain.User类型。
对于Map类型的属性,需要同时指定Map的key类型和value类型。为了指定Map类型属性的key类型,应该在类型转换文件中增加如下项:
Key_<MapPropName>=<KeyType>
其中Key是固定写法,<MapPropName>是Map类型属性的属性名,复合类型指定的是Map的Key值的全限定类名。
为了指定Map属性的value类型,还应该在局部类型转换文件中增加以下项:
Element_<MapPropName>=<ValueType>
其中Element是固定写法,<MapPropName>是Map类型属性的属性名,复合类型指定的是Map属性的value值得全限定类名。
标签:
原文地址:http://www.cnblogs.com/ChanSS/p/5495416.html