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

  • 相关阅读:
    机器学习(04)——常用专业术语
    C# 线程同步的三类情景
    线程同步的情景之三
    线程同步的情景之二
    线程同步的情景之一
    Thread.Sleep(0) vs Sleep(1) vs Yeild
    Visual Studio 实用扩展推荐
    为革命保护视力 --- 给 Visual Studio 换颜色
    免费的精品: Productivity Power Tools 动画演示
    如何扩展 Visual Studio 编辑器
  • 原文地址:https://www.cnblogs.com/ChanSS/p/5495416.html
Copyright © 2020-2023  润新知