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

  • 相关阅读:
    【SICP练习】80 练习2.52
    【SICP练习】79 练习2.51
    【SICP练习】78 练习2.50
    【SICP练习】77 练习2.48-2.49
    【SICP练习】76 练习2.47
    【SICP练习】75 练习2.46
    【SICP练习】74 练习2.45
    【SICP练习】73 练习2.44
    【SICP练习】72 练习2.43
    【SICP练习】71 练习2.42
  • 原文地址:https://www.cnblogs.com/ChanSS/p/5495416.html
Copyright © 2020-2023  润新知