• 39.二级联动


    转自:https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html

    <s:bean name="com.asm.TwoSelectAction" id="ts"></s:bean>

    <s:doubleselect

                                list="#ts.place"                         

                         listKey="pId" listValue="pName"
    name="user.place"

                               

                                doubleList="#ts.citys[top]"

                                doubleListKey="cId"    doubleListValue="cName"

                                doubleName="user.city"

                                label="籍贯4(二级联动)">

    </s:doubleselect>

    它所依赖的TwoSelectAction类的主要代码如下:
    package com.asm;

    public class TwoSelectAction extends ActionSupport {

           private List<Province> place;

           private Map<Province,List<City>> citys;

           ...省略place 、citys中get/set方法

           public TwoSelectAction(){

                  place= new ArrayList<Province>();

                  citys=new HashMap<Province,List<City>> ();

                 

                  Province p1=new Province(1,"山东省","济南");

                  Province p2=new Province(2,"山西省","太原");

                  Province p3=new Province(3,"河南省","郑洲");

                  Province p4=new Province(4,"河北","石家庄");

                  Province p5=new Province(5,"四川","成都");

                  Province p6=new Province(6,"云南","昆明");

                  place.add(p1);

                  place.add(p2);

                  place.add(p3);

                  place.add(p4);

                  place.add(p5);

                  place.add(p6);

                 

                  //山东省的市:

                  City c1=new City(1,"济南");

                  City c2=new City(2,"招远市");

                  City c3=new City(2,"寿光市");

                  List p1City=new ArrayList();

                  p1City.add(c1);

                  p1City.add(c2);

                  p1City.add(c3);

                 

                  //山西省的市:

                  City c4=new City(4,"太原市");

                  City c5=new City(5,"大同市");

                  City c6=new City(6,"晋中市");

                  List p2City=new ArrayList();

                  p2City.add(c4);

                  p2City.add(c5);

                  p2City.add(c6);

                 

                  //河南省的市:

                  City c7=new City(7,"郑州市");

                  City c8=new City(8,"卫辉市");

                  City c9=new City(8,"信阳市");

                  List p3City=new ArrayList();

                  p3City.add(c7);

                  p3City.add(c8);

                  p3City.add(c9);

                 

                  //河北省的市:

                  City c10=new City(10,"石家庄");

                  City c11=new City(11,"晋州市");

                  City c12=new City(12,"鹿泉市");

                  List p4City=new ArrayList();

                  p4City.add(c10);

                  p4City.add(c11);

                  p4City.add(c12);

                 

                 

                  //四川省的市:

                  City c13=new City(13,"成都");

                  City c14=new City(14,"南充");

                  City c15=new City(15,"绵阳");

                  List p5City=new ArrayList();

                  p5City.add(c13);

                  p5City.add(c14);

                  p5City.add(c15);

                 

                  //云南省的市:

                  City c16=new City(16,"昆明市");

                  City c17=new City(17,"安宁市");

                  City c18=new City(18,"曲靖市");

                  List p6City=new ArrayList();

                  p6City.add(c16);

                  p6City.add(c17);

                  p6City.add(c18);

                 

                  citys.put(p1,p1City );

                  citys.put(p2,p2City );

                  citys.put(p3,p3City );

                  citys.put(p4,p4City );

                  citys.put(p5,p5City );

                  citys.put(p6,p6City );

           }

    }

    简要分析:此实例有些繁琐,主要思想:我们的place对象主要为一级列表服务,只要理解了前面的下拉列表,这里不难理解一级列表。而二级列表中我们使用#ts.citys[top]取出的一个List对象,这样也正是下拉列表所要求的对象类型(List,Map),而top是非常关键的,它明确指出我们取出的是栈顶的对象,这样就能根据一级列表的值来动态生成这个List对象。

  • 相关阅读:
    EL表达式
    Java反射机制详解
    最小生成树-Prim算法和Kruskal算法
    最短路径—Dijkstra算法和Floyd算法
    servlet的转发与重定向
    SQL常用增删改查
    Java map遍历
    深入理解Java的接口和抽象类
    eclipse快捷键
    Vue父子组件数据双向绑定,子组件可修改props
  • 原文地址:https://www.cnblogs.com/sharpest/p/5587943.html
Copyright © 2020-2023  润新知