zoukankan      html  css  js  c++  java
  • struts2指定集合元素的泛型

    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值得全限定类名。

  • 相关阅读:
    DP(第三版(较简单))
    【テンプレート】洛谷
    【説明する】并查集
    第一篇博文
    cogs 2398 切糕 最小割
    cogs 1873 happiness 最大权闭合子图
    cogs 1274 最小截断 最小割唯一判定
    cogs 736 星际转移 最大流
    cogs 329 K-联赛 最大流
    cogs 2605 寒假ing
  • 原文地址:https://www.cnblogs.com/ChanSS/p/5495416.html
Copyright © 2011-2022 走看看