doubleselect标签为联动下拉框,选择第一个下拉框时,第二个下拉框的值会随第一个下拉框值的改变而改变。该标签使用的关键是,list属性(代表第一个下拉框)里为集合类型或者数组类型,而doubleList属性(代表第二个下拉框)为Map类型,并且Map的value也为集合类型或者数组类型。代码如下:
1 <% 2 List<String> provinceList = new ArrayList<String>(); // List对象,存放省份 3 provinceList.add("北京"); // 添加数据 4 provinceList.add("上海"); 5 provinceList.add("天津"); 6 provinceList.add("重庆"); 7 provinceList.add("河北"); 8 provinceList.add("河南"); 9 provinceList.add("山东"); 10 provinceList.add("山西"); 11 provinceList.add("江苏"); 12 provinceList.add("浙江"); 13 14 request.setAttribute("provinceList", provinceList); // 放到request中 15 16 Map<String, List<String>> cityMap = new HashMap<String, List<String>>(); // Map对象 17 18 { 19 // 北京市 20 List<String> cityList = new ArrayList<String>(); // 添加北京市的城区 21 22 cityList.add("东城区"); 23 cityList.add("西城区"); 24 cityList.add("海淀区"); 25 cityList.add("朝阳区"); 26 27 cityMap.put("北京", cityList); // 放到Map中 28 } 29 { 30 // 山东省 31 List<String> cityList = new ArrayList<String>(); // 添加山东省的城市 32 33 cityList.add("青岛"); 34 cityList.add("济南"); 35 cityList.add("潍坊"); 36 cityList.add("烟台"); 37 cityList.add("淄博"); 38 39 cityMap.put("山东", cityList); // 放到Map中 40 } 41 42 request.setAttribute("cityMap", cityMap); // 放到request中 43 %> 44 45 <struts:form action="login"> 46 <struts:doubleselect name="province" list="#request.provinceList" 47 doubleName="city" doubleList="#request.cityMap.get(top)" label="请选择省份、市"/> 48 </struts:form>