struts2 doubleselect

9 篇文章 0 订阅
先简单说一下doubleselect的用法(希望对初学者有所帮助)
doubleselect最常用的结构为

<s:doubleselect list="" name="" listValue=""   listKey="" doubleName="" doubleList="" doubleListValue="" doubleListKey=""></s:doubleselect>

name 一级下拉菜单的名称
list 一级下拉菜单中的下拉链表,通常为hash的keyset() --详细见下面的代码部分
listValue 一级下拉菜单的可见属性
listKey 一级下拉菜单的属性值
doubleName 二级下拉菜单的名称(通常为要获取的参数,应与action中的属性名保持一致)
doubleList 二级下拉菜单中的下拉链表,通常为hash中的top--详细见下面的代码部分
doubleListValue 二级下拉菜单中的可见属性
doubleListKey 二级下拉菜单中的属性值
forName doubleselect所对应的表单名,默认为当前表单,若不在表单中,或是没有指定的表单名不存在,则会报错!


举个通用的例子:
现有:国家表 country{country1,country2,country3}
          城市表 city{{country1,city1},{country1,city2},
                             {country2,city1},{country2,city2},
                             {country3,city1},{country3,city2}}
         国家表中只有一个关键字段country,而一个国家有多个城市,因此国家与城市间是一对多的关系
现在要通过选取国家来获得相应的城市,步骤如下:
1.创建国家链表 List<country> countryList = new ArrayList<country>();
2.创建国家和城市关联的哈希表Map<country,List<city>> countryTocityMap = new HashMap();
3.对country链表进行遍历,把每个国家对应的city链表添加到map里面去
for(Country country : countryList){
    List<city> cityList = country.getCityList(); //具体的实现方法因人而异
       countryTocityMap.put(country,cityList); //遍历的把多个城市“放”到一个国家里面去,形成对应关系
}
4.经历上面3个步骤就可以得到一个同时具有国家和城市的哈希表,下面可以对doubleselect来进行设置
<s:doubleselect   name="country(自定义)" list="countryTocityMap.keySet()"
     listValue="name(country表里面的字段)" listKey="id(country表里面的字段)"
    doubleName="city(自定义)" doubleList="countryTocity[top]"
doubleListValue="name(city表里面的字段)" doubleListKey="id(city表里面的字段)"
forName="form1(指定的表单名一定要存在!)" ></s:doubleselect>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值