码迷,mamicode.com
首页 > Web开发 > 详细

Goods:动态加载所有的分类项到left.jsp

时间:2015-08-31 19:12:01      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

CategoryDao

 1 //把一个map中的数据映射到category中
 2     private Category toCategory(Map<String,Object> map)
 3     {
 4         
 5         Category category=CommonUtils.toBean(map, Category.class);
 6         String pid=(String) map.get("pid");
 7         if(pid!=null)  //如果父分类id不为空
 8         {
 9             Category parent=new Category();
10             parent.setCid(pid);
11             category.setParent(parent);
12         }
13         return category;
14         
15     }
16     
17     //可以把多个Map<List<Map>> 映射成多个Category
18     private List<Category> toCategoryList(List<Map<String,Object>> mapList)
19     {
20         List<Category> categoryList=new ArrayList<Category>();
21         for(Map<String,Object> map:mapList)
22         {
23               Category c=toCategory(map);
24               categoryList.add(c);
25               
26         }
27         return categoryList;
28         
29     }
30     //通过父分类查询子分类
31     public List<Category> findByparent(String pid) throws SQLException
32     {
33         
34         String sql="select * from t_category where pid=?";
35         List<Map<String,Object>> mapList=qr.query(sql, new MapListHandler(),pid);
36         return toCategoryList(mapList);
37         
38     }
39     
//得到所有一级分类的List 40 public List<Category> findAll() throws SQLException 41 { 42 /* 43 * 1、查询所有的一级分类 得到List<Category> 44 * 2、循环遍历每一个一级分类,为每个一级分类加载它的所有二级分类 } 45 * 3、返回所有的积极分类 46 */ 47 //1、查询所有的一级分类 48 String sql="select * from t_category where pid is null"; 49 //为防止丢掉pid 所以不用BeanListHandler 先把他放到一个Maplist中 50 List<Map<String,Object>> mapList=qr.query(sql, new MapListHandler()); 51 List<Category> parents=toCategoryList(mapList); 52 53 //2、循环遍历所有的一级分类 为每个一级分类加载他的所有的二级分类 54 55 for(Category parent:parents) 56 { 57 //查询出当前父分类的所有子分类 58 List<Category> children = findByparent(parent.getCid()); 59 parent.setChildren(children); 60 61 } 62 63 return parents; 64 65 }


前端的left.jsp用的js小工具加载  具体的看mymenu.js文件

 1 <script type="text/javascript" src="<c:url value=‘/menu/mymenu.js‘/>"></script>
 2     <link rel="stylesheet" href="<c:url value=‘/menu/mymenu.css‘/>" type="text/css" media="all">
 3     <link rel="stylesheet" type="text/css" href="<c:url value=‘/jsps/css/left.css‘/>">
 4 <script language="javascript">
 5 /*
 6  * 1. 对象名必须与第一个参数相同!
 7    2. 第二个参数是显示在菜单上的大标题
 8  */
 9 var bar = new Q6MenuBar("bar", "网上书城");
10 $(function() {
11     bar.colorStyle = 4;//指定配色样式,一共0,1,2,3,4
12     bar.config.imgDir = "<c:url value=‘/menu/img/‘/>";//小工具所需图片的路径
13     bar.config.radioButton=true;//是否排斥,多个一级分类是否排斥
14 
15     /*
16     1. 程序设计:一级分类名称
17     2. Java Javascript:二级分类名称
18     3. /goods/jsps/book/list.jsp:点击二级分类后链接到的URL
19     4. body:链接的内容在哪个框架页中显示
20     */
21 <c:forEach items="${parents}" var="parent">
22   <c:forEach items="${parent.children}" var="child">
23     bar.add("${parent.cname}", "${child.cname}", "/goods/jsps/book/list.jsp", "body");
24   </c:forEach>
25 </c:forEach>
26     
27     $("#menu").html(bar.toString());
28 });
29 
30 </script>

 

Goods:动态加载所有的分类项到left.jsp

标签:

原文地址:http://www.cnblogs.com/xiaoying1245970347/p/4773596.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!