数据库中的数据如下:
1. 首先在 Dao 中实现查找方法
- public List<ProductType> findAllByRoot() {
- //定义集合,添加ProductType对象
- List<ProductType> list = new ArrayList<ProductType>();
- //查询语句,查询producttype表中的所有数据
- String sql = "SELECT * FROM producttype ";
- try {
- //采用从C3P0获取connection连接
- connection = jdbcUtil.getConnection();
- //预编译
- preparedStatement = connection.prepareStatement(sql);
- resultSet = preparedStatement.executeQuery();
- while (resultSet.next()) {
- //定义ProductType对象,封装信息,并添加到集合当中,返回
- ProductType productType = new ProductType();
- productType.setTid(resultSet.getInt(1));
- productType.setTypename(resultSet.getString(2));
- productType.setPno(resultSet.getString(3));
- productType.setParentTid(resultSet.getInt(4));
- productType.setSort(resultSet.getInt(5));
- list.add(productType);
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }finally {
- //关闭连接
- jdbcUtil.closeAll(resultSet, preparedStatement, connection);
- }
- return list;
- }
2. 定义工具类
- package com.bw.shop.util;
- import java.util.ArrayList;
- import java.util.List;
- import com.bw.shop.bean.ProductType;
- import com.bw.shop.dao.impl.ProductTypeDaoImpl;
- public class TypeTree {
- private List<ProductType> list = null;
- //list所所有数据
- private StringBuffer sb = new StringBuffer();
- // 瓶装结果
- String s = ""; // var tree1 = new webFXTreeItem('电脑整机','javascript:cx(1)');
- String x = ""; // tree.add(tree1);
- public StringBuffer getSb() {
- return sb;
- }
- public TypeTree(List<ProductType> list) {
- this.list = list;
- // list所所有数据
- addTree(0);
- // 从跟节点0开始调用
- }
- // 调用递归方法 ,该方法就是 将生产 js 字符串存入StringBuffer中
- public void addTree(int parentTid) {
- for (ProductType productType : list) {
- if (productType.getParentTid() == parentTid) {
- // var tree1 = new WebFXTreeItem('电脑整机','javascript:cx(1)');
- s = "var tree" + productType.getTid()
- + " = new WebFXTreeItem('" + productType.getTypename()
- + "','javascript:cx(" + productType.getTid() + ")');";
- sb.append(s + "\n");
- // tree.add(tree1);
- if (parentTid == 0) {
- x = "tree.add(tree" + productType.getTid() + ");";
- } else {
- x = "tree" + productType.getParentTid() + ".add(tree"
- + productType.getTid() + ");";
- }
- sb.append(x + "\n");
- addTree(productType.getTid());// 递归调用 查看当前的数据的子分类
- }
- }
- }
- //返回结果
- public static String getTree() {
- return new TypeTree(new ProductTypeDaoImpl().findAllByRoot()).getSb()
- .toString();
- }
- }
3. 页面赋值
- <%@ page contentType="text/html; charset=UTF-8" %>
- < import="com.bw.shop.util.TypeTree"%>
运行结果如下:
来源: