tangweijia

构客网首页  博客  论坛

 
  本文的标签
技术 (收录3455篇)
  用户信息
 
帐号:  新手必读
密码: 保存密码
 
  分类列表
全部类别(52 篇)
我的文章(52 篇)
  按月归档
2008年-07月(8 篇)
2008年-10月(15 篇)
2009年-03月(16 篇)
2009年-12月(13 篇)
  SOA2007 - SOA实践
我们何时迈向SOA
——SOA在中国的整体发展现状究竟如何?
我们如何迈向SOA
——中国企业如何迈出实施SOA的第一步?
我们应采用何种技术
——SOA国际标准SCA/SDO的具体内涵?
我们还需要何种技能
——SOA将如何改变系统架构设计以及项目管理过程?

递归完成静态菜单树

发布时间:2008年09月28日 作者:tangweijia

阅读次数:494次 类别:我的文章 永久链接 Trackback 
参加SOA我有话说
一个最简单的静态树的代码,使用递规完成

<%@ page contentType="text/html; charset=gb2312" language="java"   import="java.sql.*"%>
<%@ include file="/pb/connpool1.jsp" %>
<jsp:useBean id="userinfo" scope="session" class="pb.userinfo.UserInfo"/>
<link rel="stylesheet" href="/sssoa/css/style1.css" type="text/css">
<%!
  class tree {
  public tree()throws Exception{//构造函数主要是得到已经分配了的模块
     }


     public void buildTree(Connection conn,javax.servlet.jsp.JspWriter out,String parentid,int level,String user_id) throws Exception {
          level++;
    Statement stmt = conn.createStatement ();  
       String sql="select distinct m.modbh as modbh,m.modpro as modpro,m.modmc as modmc from t_pf_power p,t_pf_mod m,t_pf_role r,t_pf_roleallot a where (p.t_pf_user_id=""+user_id+"" and p.lx=3) or ((p.t_pf_user_id_temp=""+user_id+"" and p.lx=1 and p.t_pf_mod_modbh=m.modbh and term>sysdate and startdate<sysdate) or (a.t_pf_user_bh=""+user_id+"" and a.t_pf_role_id=p.t_pf_role_id and p.t_pf_mod_modbh=m.modbh and p.lx=0) or m.modpro!="2") and modbh_p=""+parentid+"" order by modbh";
       ResultSet rs=stmt.executeQuery(sql);
          while(rs.next()) {
     out.println("<div>");
              for(int i=0;i<level-1;i++) {
      out.print("&nbsp;&nbsp;");
     }
    if(!rs.getString("modpro").equals("2")) {
     out.print("<img alt=\"展开\" style=\"cursor:hand;\" onclick=\"myClick(""+rs.getString("modbh")+"");\" id=\"img"+rs.getString("modbh")+"\" src=\"image/plus.gif\"> ");
             
     out.print("<span style=\"cursor:hand;\" onclick=\"myClick(""+rs.getString("modbh")+"");\">");
              out.print(rs.getString("modmc"));
              out.print("</span>");
              out.println("<div style=\"display:none;\" id=\"div"+rs.getString("modbh")+"\">");
              buildTree(conn,out,rs.getString("modbh"),level,user_id); //递归调用
              out.println("</div>");
       } else{
     out.print("<img src=\"image/page.gif\"> <span onMouseMove=\"className = "clsMouseOver";\" onMouseOver=\"className = "clsCurrentHasFocus";\" onMouseOut=\"className = "clsCurrentHasNoFocus";\" style=\"cursor:default;\" >");
              out.print("<a href=forward.jsp?modbh="+rs.getString("modbh")+" target=\"main\">");         
              out.print(rs.getString("modmc")+"</a></span>");
          }
          out.println("</div>");
      }
      rs.close();
   stmt.close();
      rs=null;
  }

 
}
%>

<script language="JavaScript"><!--这段js为了实现树的展开和关闭的效果-->
  function myClick(id) {
    eval("var div=div"+id);
    eval("var img=img"+id);
    div.style.display=div.style.display!="none"?"none":"block";
    img.src=div.style.display!="none"?"image/minus.gif":"image/plus.gif";
    img.alt=div.style.display!="none"?"关闭":"展开";
  }
</script>
<html>
<body bgcolor="#6699FF">


<table>
<tr><td height="260" valign="top">
<%

String user_id=userinfo.user_id;
  Connection conn = ods.getConnection ();
  tree myTree=new tree();
  myTree.buildTree(conn,out,"o",0,user_id);%>
  <script language="JavaScript">
 myClick("oo");
 </script>
<%  conn.close();
%>
</td></tr>
</table>
</body>
</html>

 

 

 评论 查看全部评论