java网上图书商城(2)Category模块

时间:2022-09-10 12:52:19

本文实例为大家分享了java网上图书商城Category模块代码,供大家参考,具体内容如下

sql

?
1
2
3
4
5
6
7
8
9
10
11
12
CREATE TABLE `t_category` (
 `cid` char(32) NOT NULL,
 `cname` varchar(50) DEFAULT NULL,
 `pid` char(32) DEFAULT NULL,
 `desc` varchar(100) DEFAULT NULL,
 `orderBy` int(11) NOT NULL AUTO_INCREMENT,
 PRIMARY KEY (`cid`),
 UNIQUE KEY `cname` (`cname`),
 KEY `FK_t_category_t_category` (`pid`),
 KEY `orderBy` (`orderBy`),
 CONSTRAINT `FK_t_category_t_category` FOREIGN KEY (`pid`) REFERENCES `t_category` (`cid`)
) ENGINE=InnoDB AUTO_INCREMENT=48 DEFAULT CHARSET=utf8; 

Dao

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public List<Category> findAll() throws SQLException {
 /*
  * 1. 查询出所有一级分类
  */
 String sql = "select * from t_category where pid is null order by orderBy";
 List<Map<String,Object>> mapList = qr.query(sql, new MapListHandler());
  
 List<Category> parents = toCategoryList(mapList);
  
 /*
  * 2. 循环遍历所有的一级分类,为每个一级分类加载它的二级分类
  */
 for(Category parent : parents) {
  // 查询出当前父分类的所有子分类
  List<Category> children = findByParent(parent.getCid());
  // 设置给父分类
  parent.setChildren(children);
 }
 return parents;
}

left.jsp

Q6MenuBar组件显示手风琴式下拉菜单

?
1
2
3
4
5
6
7
8
9
10
11
<script language="javascript">
$(function() {
....
<c:forEach items="${parents}" var="parent">
 <c:forEach items="${parent.children}" var="child">
 bar.add("${parent.cname}", "${child.cname}", "/goods/BookServlet?method=findByCategory&cid=${child.cid}", "body");
 </c:forEach>
</c:forEach>
 
});
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。