会不会都问问 -
关注数: 14 粉丝数: 18 发帖数: 464 关注贴吧数: 9
经典题型 package com.servlet; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.util.JdbcUtil; public class Mulu extends HttpServlet { private PrintWriter out; private String sql=""; int divcode = 0; int enterprise_id = 0; String groupId=""; private static Connection conn = JdbcUtil.getConnection(); public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { enterprise_id = 1;//Integer.parseInt((String)request.getSession().getAttribute("enterpriseid")); 这个地方应从登陆者的session获取企业id,为了方便查看效果直接赋值 response.setContentType("text/html;charset=utf-8"); out = response.getWriter(); try { out.println("<img src='images/nolines_plus.gif' onclick='changeState(this,0)'>目录" + "<div id=level0 style='display:none' >"); generateTree(-1, 0);//从根部门向下查找,根部门的group_id为 -1 out.println("</div>"); out.flush(); out.close(); } catch (SQLException e) { throw new RuntimeException(e); } } // 产生树结构 public void generateTree(int parentid, int level) throws SQLException { level++; divcode++; // Statement和ResultSet不要声明为全局变量,如果声明全局变量有可能会出现结果集耗尽 Statement st = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY); sql ="select * from group_info where upper_group_id="+ parentid + " and enterprise_id =" + enterprise_id; ResultSet rs = st.executeQuery(sql); while (rs.next()) { for (int i = 0; i < level - 1; i++) { // 控制缩进 out.print("<img src='images/line.gif' />"); } int groupId =rs.getInt("group_id"); String groupName = rs.getString("group_name"); if ((existedChild(groupId) || existedTerminal(groupId)) && rs.isLast()) {// 有下级部门或着在该部门中有终端,并且是最后一行
首页 1 2 下一页