JSP 实现动态树形菜单
2009-08-19 20:01
477 查看
使用MYSQL
数据库名gong
表名 menuone 字段 id,firstmenu
menutwo 字段 id,secondmenu,firstmenu
创建WEB 项目
创建包com.xgong.model其中创建类Menuone和Menutwo
创建包com.xgong.dao其中创建类MenuDao
创建包com.xgong.pub其中创建类DBConnection
创建JSP页面menubar.jsp
大功告成
数据库名gong
表名 menuone 字段 id,firstmenu
menutwo 字段 id,secondmenu,firstmenu
创建WEB 项目
创建包com.xgong.model其中创建类Menuone和Menutwo
package com.xgong.model; public class Menuone { public int getId() { return id; } public void setId(int id) { this.id = id; } public String getFirstmenu() { return firstmenu; } public void setFirstmenu(String firstmenu) { this.firstmenu = firstmenu; } private int id; private String firstmenu; }
package com.xgong.model; public class Menutwo { public int getId() { return id; } public void setId(int id) { this.id = id; } public String getSecondmenu() { return secondmenu; } public void setSecondmenu(String secondmenu) { this.secondmenu = secondmenu; } public int getFirstmenu_id() { return firstmenu_id; } public void setFirstmenu_id(int firstmenu_id) { this.firstmenu_id = firstmenu_id; } private int id; private String secondmenu; private int firstmenu_id; }
创建包com.xgong.dao其中创建类MenuDao
package com.xgong.dao; import java.sql.Connection; import java.sql.SQLException; import java.util.List; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.BeanListHandler; import com.xgong.model.Menuone; import com.xgong.model.Menutwo; import com.xgong.pub.DBConnection; public class MenuDao { public List<Menuone> getFirstMenus(){ Connection conn = DBConnection.getConnection(); String sql= "select * from menuone"; QueryRunner qr = new QueryRunner(); List<Menuone> list = null; try { list = (List)qr.query(conn,sql,new BeanListHandler(Menuone.class)); } catch (SQLException e) { e.printStackTrace(); } return list; } public Integer getFirstmenusID(String firstmenu){ Connection conn = DBConnection.getConnection(); String sql= "select id from menuone where firstmenu='"+firstmenu+"'"; QueryRunner qr = new QueryRunner(); Integer id = new Integer(null); try { id = (Integer) qr.query(conn,sql,new BeanListHandler(Integer.class)); } catch (SQLException e) { e.printStackTrace(); } return id; } public List<Menutwo> getSecondMenus(Integer firstmenu_id){ Connection conn = DBConnection.getConnection(); String sql = "select * from menutwo where firstmenu_id="+firstmenu_id; QueryRunner qr = new QueryRunner(); List<Menutwo> list = null; try { list = (List)qr.query(conn,sql,new BeanListHandler(Menutwo.class)); } catch (SQLException e) { e.printStackTrace(); } return list; } }
创建包com.xgong.pub其中创建类DBConnection
package com.xgong.pub; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DBConnection { //Mysql驱动 public static Connection getConnection(){ Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver").newInstance(); String url = "jdbc:mysql://localhost/gong?user=root&password=root"; conn = DriverManager.getConnection(url); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; } }
创建JSP页面menubar.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ page import="com.xgong.dao.MenuDao"%> <%@ page import="com.xgong.model.Menuone"%> <%@ page import="com.xgong.model.Menutwo"%> <%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%> <html> <head> <mce:script language='javascript'><!-- function showLay(divId) { var objDiv=eval(divId); if(objDiv.style.display=='none') { eval('sp'+divId+'.innerHTML="-"'); objDiv.style.display=''; } else { eval('sp'+divId+'.innerHTML="+"'); objDiv.style.display='none'; } } // --></mce:script> </head> <body> <% MenuDao dao = new MenuDao(); List<Menuone> list1 = dao.getFirstMenus(); %> <c:forEach var="arcticl" items="<%=list1%>"> <% Integer id = ((Menuone)pageContext.getAttribute("arcticl")).getId(); List<Menutwo> list11 = dao.getSecondMenus(id); %> <a href="#" mce_href="#" onclick='showLay("par${arcticl.id}")'><span id="sppar${arcticl.id}">+</span><c:out value="${arcticl.firstmenu}"/></a><br> <div id='par${arcticl.id}' style="display:none;" mce_style="display:none;"> <c:forEach var="arcticl1" items="<%=list11%>"> <c:out value="${arcticl1.secondmenu}"/><br> </c:forEach> </div> </c:forEach> </body> </html>
大功告成
相关文章推荐
- 如何实现动态树形菜单
- JQuery实现动态生成树形菜单
- Ztree树形菜单实现动态初始化、添加、删除、修改节点
- extjs springMVC实现动态树形菜单
- jsp树形菜单的实现
- 动态实现树形菜单
- dtree实现动态加载树形菜单,动态插入树形菜单
- dhtmlxTree+struts2实现简单的动态树形菜单
- java实现遍历树形菜单方法——index.jsp实现
- JAVASCRIPT + PHP 应用二:网页设计中树形菜单的动态实现
- javascript树形菜单(一):Tigra Tree Menu,实现动态数据加载
- jQuery ztree实现动态树形多选菜单
- 动态树形菜单的实现
- JQuery实现动态生成树形菜单
- 动态实现树形菜单(使用dtree控件)
- dtree实现动态加载树形菜单,动态插入树形菜单
- JavaScript + PHP 应用二:网页设计中树形菜单的动态实现
- java实现遍历树形菜单方法——实体类VoteTree
- Android提高十七篇之多级树形菜单的实现
- 原生JavaScript实现动态省市县三级联动下拉框菜单实例代码