问题描述
最近在做一个项目 我们是把页面上菜单存放到数据库 所以在加载页面要去读取这个树状结构 求大神给点代码实例
解决方案
1 使用代码进行递归2 使用mysql sql语句,你可以参考http://web.archive.org/web/20110606032941/http://dev.mysql.com/tech-resources/articles/hierarchical-data.html
解决方案二:
把数据表里的每一行读到后台,然后数据结构的方式建立一颗树。
解决方案三:
你需要的是在后台组装成树状的数据,一般用递归比如返回xml:package com.zyn.iteye;import java.util.ArrayList;import java.util.List;import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.Element;public class XmlTest {public class Menu{private String id;private String name;private String url;private String parentId;public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getUrl() {return url;}public void setUrl(String url) {this.url = url;}public String getParentId() {return parentId;}public void setParentId(String parentId) {this.parentId = parentId;}}public String getMenuXml(){Document document = DocumentHelper.createDocument(); String rootname = "menus"; Element root = document.addElement(rootname + "s");//添加根节点//假设根节点parentid为"0";addEle(root,"0");return document.asXML();}public void addEle(Element p,String pid){List<Menu> list = getMenuList(pid);for(Menu m:list){Element e = p.addElement("menu");e.setText(m.getName());e.setAttributeValue("url", m.getUrl());addEle(e,m.getId());}}public List<Menu> getMenuList(String parentId){List<Menu> list = new ArrayList<Menu> (); String sql = "select * from menu where parentId='"+parentId+"'";return list;}}