Struts2 doubleselect标签的使用
2016-03-23 14:24
405 查看
一、 Struts2提供了级联下拉选择框doubleselect标签,这对简化诸如省份/城市这样的典型需求的操作是大有好处的.
如: “省份->城市”的级联菜单。
(1)省份类(封装setXXX and getXXX)
(3)JSP页面
属性说明:
formName: 对应的表单名称。
label: 该级联下拉列表的标签。
name: 第一个下拉列表的名称。name="pId"
id: 第一个下拉列表的id名称。
list: 指定用于输出第一个下拉列表框中选项的集合。本示例 list="map.keySet()" 是将map的键(即省份)作为第一个下拉列表选项。
listKey: 指定集合元素中的某个属性作为第一个下拉列表框的value。listKey="pId"是将省份d作为第一个下拉列表的值,在提交该表单时,参数名就是pId,值为listKey的值。如“pId=1”
listValue:指定集合元素中的某个属性作为第一个下拉框的标签。listValue="pname" 用省份名称作为标签,即下拉列表显示出来的值。
doubleName: 第二个下拉列表的名称。
doubleId: 第二个下拉列表的id名称。
doubleList: 指定用于输出第二个下拉列表框中选项的集合。本示例 map[top] 是将map的值(即城市)作为第二个下拉列表选项。
doubleListKey: 指定集合元素中的某个属性作为第二个下拉列表框的value。doubleListKey="cId"是将城市id作为第二个下拉列表的值。
doubleListValue: 指定集合元素中的某个属性作为第二个下拉框的标签。doubleListValue="cname" 用城市名称作为标签。
效果如下:
如: “省份->城市”的级联菜单。
(1)省份类(封装setXXX and getXXX)
package com.hlx.entity; public class Province { private int pid; private String pname; }(2)城市类(封装setXXX and getXXX)
public class City { private int cid; private String cname; }(3)Action类
public class ProvinceCity extends ActionSupport { // map集合,key映射省份,value映射该省份的城市 private Map<Province, List<City>> map; public Map<Province, List<City>> getMap() { return map; } public void setMap(Map<Province, List<City>> map) { this.map = map; } @Override public String execute() throws Exception { // 江苏省 Province pro1 = new Province(1, "江苏省"); // 所在的城市 List<City> citys = new ArrayList<City>(); citys.add(new City(11, "南京")); citys.add(new City(22, "常州")); citys.add(new City(33, "苏州")); // 浙江省 Province pro2 = new Province(2, "浙江省"); // 所在的城市 List<City> citys1 = new ArrayList<City>(); citys1.add(new City(10, "杭州")); citys1.add(new City(20, "宁波")); citys1.add(new City(30, "温州")); //添加到集合中 map = new HashMap<Province, List<City>>(); map.put(pro1, citys); map.put(pro2, citys1); return SUCCESS; } }
(3)JSP页面
<style type="text/css"> .doubleselect br{ display:none; } </style> </head> <body> <div class="doubleselect"> <s:form action="doubleSelectPost" name="form1"> <s:doubleselect formName="form1" label="省份" name="pid" list="map.keySet()" listKey="pid" listValue="pname" doubleList="map[top]" doubleName="id" doubleListKey="cid" doubleListValue="cname" > </s:doubleselect> </s:form> </div> </body> </html>
属性说明:
formName: 对应的表单名称。
label: 该级联下拉列表的标签。
name: 第一个下拉列表的名称。name="pId"
id: 第一个下拉列表的id名称。
list: 指定用于输出第一个下拉列表框中选项的集合。本示例 list="map.keySet()" 是将map的键(即省份)作为第一个下拉列表选项。
listKey: 指定集合元素中的某个属性作为第一个下拉列表框的value。listKey="pId"是将省份d作为第一个下拉列表的值,在提交该表单时,参数名就是pId,值为listKey的值。如“pId=1”
listValue:指定集合元素中的某个属性作为第一个下拉框的标签。listValue="pname" 用省份名称作为标签,即下拉列表显示出来的值。
doubleName: 第二个下拉列表的名称。
doubleId: 第二个下拉列表的id名称。
doubleList: 指定用于输出第二个下拉列表框中选项的集合。本示例 map[top] 是将map的值(即城市)作为第二个下拉列表选项。
doubleListKey: 指定集合元素中的某个属性作为第二个下拉列表框的value。doubleListKey="cId"是将城市id作为第二个下拉列表的值。
doubleListValue: 指定集合元素中的某个属性作为第二个下拉框的标签。doubleListValue="cname" 用城市名称作为标签。
效果如下:
相关文章推荐
- spring mvc
- javaSE
- Java之Servlet
- Java BeanValidation
- Java文件File操作一:文件的创建和删除
- Spring容器加载完毕干一件事情(利用ContextRefreshedEvent事件)
- 分布式dubbo框架+apex+Spring
- Hibernate和Spring的缓存机制
- java枚举使用详解
- (整理)Java实现链表----链表的反转
- Spring IOC
- Lombok 安装、入门 - 消除冗长的 java 代码
- java介绍
- 各种java时间格式转换
- idea Intellij 远程调试java程序
- eclipse 引用(依赖) 其他 lib 工程(可只做最后一步)
- Java中的final关键字-----(java复习)
- Java [Leetcode 338]Counting Bits
- Java核心知识点-synchronized关键字
- spring学习笔记(14)引介增强详解:定时器实例:无侵入式动态增强类功能