mysql建立菜单树的表_java 定义mysql树形菜单

数据库中的数据如下:

4e9bf1616b418521dd440307e2b4b503.png

1.首先在Dao中实现查找方法

public List findAllByRoot() {

//定义集合,添加ProductType对象

List list = new ArrayList();

//查询语句,查询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 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 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.页面赋值

function cx(tid){

if(tid==0){

document.baseInfoForm.action="productTypeRoot.jsp";

}else{

document.baseInfoForm.action="productTypeList.jsp";

}

document.getElementById("tid").value=tid;

document.baseInfoForm.submit();

}

菜单

//实例一个根节点new WebFXTree( 节点名,节点事件 )

var tree = new WebFXTree('商品类别管理','javascript:cx(0)');

//设置样式

tree.setBehavior('classic');

document.write(tree);

运行结果如下:

6abca5174ad8db09cf1215b59d738088.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值