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

  • 相关阅读:
    下载超过 28762W 次的 Java面试题库(附答案)
    后端程序员必备:SQL高性能优化方案!50条优化,建议马上收藏!
    [ABP教程]第七章 作者:数据库集成
    [ABP教程]第六章 作者:领域层
    [ABP教程]第五章 授权
    [ABP教程]第四章 集成测试
    [ABP教程]第三章 创建、更新和删除图书
    [ABP教程]第二章 图书列表页面
    [ABP教程]第一章 创建服务端
    [Skill] git下载助手
  • 原文地址:https://www.cnblogs.com/ChanSS/p/5495416.html
Copyright © 2011-2022 走看看