struts2 doubleselect 二级级联菜单

来源:互联网 发布:房地产大数据 走势 编辑:程序博客网 时间:2024/05/01 00:33


想了一天 也做了一天 最后是数据结构不对 ,没能 动态级联 类别和子类别 二级菜单

需求是: 商品要进行分类 ,希望 注册商品时候 能选择它属于哪一个大类的一个子类别,,需要动态的选择下拉菜单 ,就像选择省份,会出现相应的城市

<s:formname="f1">

<s:doubleselectlist="#request.provinceList"listKey="id"listValue="name"

doubleName="cityId"

doubleList="#request.cityMap.get(top.id)"doubleListKey="id"doubleListValue="name"/>

</s:form>

这是doubleselect的jsp代码

list是第一个菜单的类别, listKey相当于input标签的 name listValue是显示的数据项,相当于input标签的value

doubleList是Map<k,k>的数据结构,get(top.id) 表示从第一级菜单的参数id来查询对应的value,top.id作为map的key

java代码

  HttpServletRequest request = ServletActionContext.getRequest();                    SelectSql sel = new SelectSql();           List<Category> categoryList=    new ArrayList<Category>();         categoryList=  sel.selectCategoryAll();            request.setAttribute("categoryList", categoryList);      Map<String, List<SonCategory>>      sonMap = new HashMap<String, List<SonCategory>>();            for(int i=0;i<categoryList.size();i++){                        String cateId = categoryList.get(i).getCategoryId();            sonMap.put(cateId, sel.findSonCateById(cateId));            }

jsp代码

<s:form name="f1">
<s:doubleselect list="#request.categoryList" listKey="categoryId" listValue="categoryName"
doubleName="cityId"
doubleList="#request.sonMap.get(top.categoryId)" doubleListKey="sonCategoryId" doubleListValue="sonCategoryName"/>
</s:form>

原创粉丝点击