`
自动放假
  • 浏览: 23439 次
文章分类
社区版块
存档分类
最新评论

struts2 doubleselect 二级级联菜单

 
阅读更多


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

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

<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>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics