`
adverse
  • 浏览: 3473 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
阅读更多
java 代码
  1. <%@ page contentType="text/html; charset=GBK" %>   
  2. <%@ page import="java.util.*"%>   
  3. <%!   
  4.     public void addMenu(List list, Map map, HttpServletRequest request) throws Exception   
  5.     {   
  6.         //判断map的url属性是否为空,若为空则认为是最终子菜单   
  7.         if (map.get("url") != null && !"".equals(map.get("url")))   
  8.         {   
  9.             //判断权限号是否被允许   
  10.             String power = (String) map.get("power");   
  11.             boolean b =  true;//hasPerm(request, power);   
  12.                
  13.             //允许访问   
  14.             if (b)   
  15.             {   
  16.                 map.put("display""true"); //若权限号被允许则设置display为true,并添加到list中   
  17.                 list.add(map);   
  18.                 //将父菜单的display属性设置为true   
  19.                 String father = (String) map.get("father");   
  20.                 if (father != null)   
  21.                 {   
  22.                     setParentDisplay(list, father);   
  23.                 }   
  24.             }   
  25.         }    
  26.         //非最终子菜单   
  27.         else  
  28.         {   
  29.             if ("".equals(map.get("father"))) //默认顶级菜单的display为true   
  30.                 map.put("display""true");   
  31.             //若url为空则直接添加到list中   
  32.             list.add(map);   
  33.         }   
  34.     }   
  35.   
  36.     //用于设置父菜单的display属性为true   
  37.     public void setParentDisplay(List list, String father)   
  38.     {   
  39.         Iterator it = list.listIterator();   
  40.         Map map = null;   
  41.   
  42.         while (it.hasNext())   
  43.         { //循环list中的元素   
  44.             map = (HashMap) it.next();   
  45.             if (father.equals(map.get("name")))   
  46.             { //判断所获得的元素的name属性是否与指定的值相等   
  47.                 if (map.get("display") == null)   
  48.                 {   
  49.                     map.put("display""true");   
  50.                     father = (String) map.get("father");   
  51.                     if (!"".equals(father) && father != null)   
  52.                     {   
  53.                         setParentDisplay(list, father);   
  54.                     }   
  55.                 }   
  56.                 break;   
  57.             }   
  58.         }   
  59.     }   
  60.   
  61.     //将无效的元素移除   
  62.     public void removeDisplay(List list)   
  63.     {   
  64.         Iterator it = list.listIterator();   
  65.         Map map = null;   
  66.   
  67.         while (it.hasNext())   
  68.         { //循环list中的元素   
  69.             map = (HashMap) it.next();   
  70.             if (map.get("display") == null)   
  71.             {   
  72.                 it.remove();   
  73.             }   
  74.         }   
  75.     }   
  76.   
  77.     //将列表打印出来   
  78.     public String MenuPrint(List list)   
  79.     {   
  80.         Iterator it = list.listIterator();   
  81.         Map map = null;   
  82.         String father = "";   
  83.         StringBuffer result = new StringBuffer(1000);   
  84.         int i = 0;   
  85.         int j = 0;   
  86.         // this "k" statement is addad   
  87.         int k = 0;   
  88.         while (it.hasNext())   
  89.         {   
  90.             map = (Map) it.next();   
  91.             while (!father.equals(map.get("father")))   
  92.             {   
  93.                 result.append("</table>\n");   
  94.                 if (!"".equals(map.get("father")))   
  95.                 {   
  96.                     result.append("</td>\n</tr>\n");   
  97.                 }   
  98.                 father = findFather(list, father);   
  99.                 i--;   
  100.             }   
  101.             if ("".equals(map.get("father")) && k == 0)   
  102.             {   
  103.                 j++;   
  104.                 k = k + 1;   
  105.                 result.append("<table width=\"198\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n");   
  106.                 result.append("<tr>\n");   
  107.                 result.append("<td align=\"left\" colspan=2><a onclick=\"openclose(img_").   
  108.                        append(map.get("name")).   
  109.                        append(",").   
  110.                        append(map.get("name")).   
  111.                        append(");\"><img src=\"./images/channel/close.gif\" align=\"left\" border=\"0\" name=\"img_").   
  112.                        append(map.get("name")).   
  113.                        append("\">").   
  114.                        append(map.get("text")).   
  115.                        append("</a></td>\n");   
  116.                 result.append("</tr>\n");   
  117.                 i++;   
  118.                 result.append("<tr valign=\"top\">\n<td width=\"14px\"></td><td>\n");   
  119.                 result.append("<table id=\"" + map.get("name") + "\" style=\"display:none\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n");   
  120.                 father = (String) map.get("name");   
  121.             }   
  122.             else if (father.equals(map.get("father")))   
  123.             {   
  124.                 result.append("<tr>\n");   
  125.                 if ("".equals(map.get("url")) || map.get("url") == null)   
  126.                 {   
  127.                     j++;   
  128.                     i++;   
  129.                     result.append("<td align=\"left\" colspan=2><a onclick=\"openclose(img_").   
  130.                            append(map.get("name")).   
  131.                            append(",").   
  132.                            append(map.get("name")).   
  133.                            append(");\"><img src=\"./images/channel/close.gif\" align=\"left\" border=\"0\" name=\"img_").   
  134.                            append(map.get("name")).   
  135.                            append("\">").   
  136.                            append(map.get("text")).   
  137.                            append("</a></td>\n");   
  138.                     result.append("</tr>\n");   
  139.                     result.append("<tr valign=\"top\">\n<td width=\"14px\"></td>");   
  140.                     result.append("<td>\n");   
  141.                     result.append("<table id=\"" + map.get("name") + "\" style=\"display:none\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n");   
  142.                     father = (String) map.get("name");   
  143.                 }   
  144.                 else  
  145.                 {   
  146.                     // this "if" statement is addad   
  147.                     if ("".equals(map.get("father")))   
  148.                     {    
  149.                         result.append("<td align=\"left\" colspan=2><a><img src=\"./images/channel/close.gif\" align=\"left\" border=\"0\" name=\"img_").   
  150.                                append(map.get("name")).   
  151.                                append("\"></a><a href=\"").   
  152.                                append(map.get("url")).   
  153.                                append("\" target=\"_self\">").   
  154.                                append(map.get("text")).   
  155.                                append("</a></td>\n");   
  156.                         result.append("</tr>\n");   
  157.                     }   
  158.                     else  
  159.                     {   
  160.                         result.append("<td align=\"left\" colspan=2><a><img src=\"./images/channel/circ.gif\" align=\"left\" border=\"0\" name=\"img_").   
  161.                                append(map.get("name")).   
  162.                                append("\"></a><a href=\"javascript:openWin('").   
  163.                                append(map.get("url")).   
  164.                                append("')\">").   
  165.                                append(map.get("text")).   
  166.                                append("</a></td>\n");   
  167.                         result.append("</tr>\n");   
  168.                     }   
  169.                 }   
  170.             }   
  171.         }   
  172.         while (!"".equals(father))   
  173.         {   
  174.             result.append("</table>\n</td>\n</tr>\n");   
  175.             father = findFather(list, father);   
  176.         }   
  177.         result.append("</table>\n");   
  178.   
  179.         return result.toString();   
  180.     }   
  181.   
  182.     //用于查找上一级父菜单   
  183.     public String findFather(List list, String father)   
  184.     {   
  185.         Iterator it = list.listIterator();   
  186.         Map map = null;   
  187.         while (it.hasNext())   
  188.         {   
  189.             map = (Map) it.next();   
  190.             if (father.equals(map.get("name")))   
  191.             {   
  192.                 father = (String) map.get("father");   
  193.                 return father;   
  194.             }   
  195.         }   
  196.         return null;   
  197.     }   
  198.        
  199.     public void addMenu(String name,String text,String url,String power,String father,Map map,List list,HttpServletRequest request) throws Exception   
  200.     {   
  201.         //Map map = null;   
  202.         //List list = new ArrayList();   
  203.   
  204.         map = new HashMap();   
  205.         map.put("name", name);   
  206.         map.put("text", text);   
  207.         map.put("url", url);   
  208.         map.put("power", power);   
  209.         map.put("father", father);   
  210.         try  
  211.         {   
  212.             addMenu(list, map, request);   
  213.         }   
  214.         catch(Exception e)   
  215.         {   
  216.         }   
  217.     }   
  218.   
  219. %>   
  220. <%   
  221. String path = request.getContextPath();   
  222. //数据区   
  223. Map map = null;   
  224. List list = new ArrayList();   
  225.   
  226. //level0   
  227. map = new HashMap();   
  228. map.put("name""level0");   
  229. map.put("text""根菜单");   
  230. map.put("url""");   
  231. map.put("power""");   
  232. map.put("father""");   
  233. addMenu(list, map, request);   
  234. //level1   
  235. map = new HashMap();   
  236. map.put("name""level10");   
  237. map.put("text""搜索引擎");   
  238. map.put("url""");   
  239. map.put("power""");   
  240. map.put("father""level0");   
  241. addMenu(list, map, request);   
  242. //level2   
  243. map = new HashMap();   
  244. map.put("name""level20");   
  245. map.put("text""百度");   
  246. map.put("url""http://www.baidu.com");   
  247. map.put("power""");   
  248. map.put("father""level10");   
  249. addMenu(list, map, request);   
  250.   
  251. map = new HashMap();   
  252. map.put("name""level21");   
  253. map.put("text""GOOGLE");   
  254. map.put("url""http://www.google.com");   
  255. map.put("power""");   
  256. map.put("father""level10");   
  257. addMenu(list, map, request);   
  258. //level1   
  259. map = new HashMap();   
  260. map.put("name""level11");   
  261. map.put("text""消息网站");   
  262. map.put("url""");   
  263. map.put("power""");   
  264. map.put("father""level0");   
  265. addMenu(list, map, request);   
  266. //level2   
  267. map = new HashMap();   
  268. map.put("name""level22");   
  269. map.put("text""人民网");   
  270. map.put("url""http://www.people.com.cn");   
  271. map.put("power""");   
  272. map.put("father""level11");   
  273. addMenu(list, map, request);   
  274.   
  275. removeDisplay(list);   
  276.   
  277. String userName = "King";   
  278. %>   
  279. <html>   
  280. <head>   
  281. <title>导航菜单</title>   
  282. <STYLE type="text/css">   
  283. BODY {   
  284.     FONT-SIZE: 9pt; FONT-FAMILY: sans-serif;background-color:#A9C3F0;   
  285. }   
  286. A   
  287. {   
  288.     COLOR: 000000; TEXT-DECORATION: none   
  289. }   
  290. A:hover   
  291. {   
  292.     COLOR: cc3300; TEXT-DECORATION: none   
  293. }   
  294. A:link {   
  295.     FONT-FAMILY: sans-serif; TEXT-DECORATION: none   
  296. }   
  297. A:active {   
  298.     FONT-FAMILY: sans-serif; TEXT-DECORATION: none   
  299. }   
  300. A:visited {   
  301.     FONT-FAMILY: sans-serif; TEXT-DECORATION: none   
  302. }   
  303. B {   
  304.     FONT-SIZE: 14px; COLOR: #000000  
  305. }   
  306. TABLE   
  307. {   
  308.      font:9pt;color: #cc3300   
  309. }   
  310. TD {   
  311.     FONT-SIZE: 12px;color:#363636  
  312. }   
  313. </STYLE>   
  314. <script language="JavaScript">   
  315. function openclose(param1, param)   
  316. {   
  317.     if (param.style.display == "none")   
  318.     {   
  319.         param.style.display = "";   
  320.         param1.src = "./images/channel/open.gif";   
  321.     }   
  322.     else  
  323.     {   
  324.         param.style.display = "none";   
  325.         param1.src = "./images/channel/close.gif";   
  326.     }   
  327. }   
  328.   
  329. function openWin(url)   
  330. {   
  331.     parent.LoginTime.location.reload();   
  332.     //window.open(url,"forum");   
  333.     parent.forum.location = url;   
  334. }   
  335. window.onload = function(){   
  336.     //openclose(img_level0, level0);   
  337.     openAllMenu();   
  338. }   
  339. function openAllMenu()   
  340. {   
  341.     var tb = document.getElementsByTagName("TABLE");   
  342.     for (var i = 0; i < tb.length; i++)   
  343.     {   
  344.         if (tb[i].id == null || tb[i].id == ""continue;   
  345.         openclose(eval("img_" + tb[i].id), tb[i]);   
  346.     }   
  347. }   
  348. CollectGarbage();   
  349. </script>   
  350. </head>   
  351. <body topmargin=10 leftmargin=0>   
  352.   <table width="100%" height="100%" border="0" align="center" cellpadding="1" cellspacing="0" class="blue">   
  353.     <tr>   
  354.         <td cellspacing="2" height="23" background="./images/bgwelcome.png"> &nbsp;<strong>欢迎您-<%=(String) userName%></strong></td>   
  355.     </tr>   
  356.     <tr>   
  357.         <td  valign="top" height="100%" background="./images/bg.png"><%=MenuPrint(list)%></td>   
  358.     </tr>   
  359.  </table>   
  360. </body>   
  361. </html>  
分享到:
评论

相关推荐

    java 树型菜单建立

    在Java编程中,树型菜单是一种常见的用户界面元素,它以层次结构展示数据,便于用户进行导航和操作。本文将详细讲解如何使用Java来构建一个动态的、可交互的树型菜单,包括从数据库获取数据、创建树节点、实现添加和...

    基于java的开发源码-JSP树型菜单 DTree.zip

    基于java的开发源码-JSP树型菜单 DTree.zip 基于java的开发源码-JSP树型菜单 DTree.zip 基于java的开发源码-JSP树型菜单 DTree.zip 基于java的开发源码-JSP树型菜单 DTree.zip 基于java的开发源码-JSP树型菜单 DTree...

    在Java中构建树型菜单

    在Java编程环境中,构建树型菜单是常见的需求,特别是在Web应用程序中,用于组织和展示层次化的数据。这里我们将深入探讨如何使用JavaScript库Dtree和Xtree来创建动态的树型菜单,以及它们在Java环境中的应用。 ...

    js+jsp+java+mysql 实现树型菜单

    总的来说,这个项目涉及前端和后端的紧密协作,利用JavaScript的交互性,jsp的动态内容生成,Java的业务逻辑处理,以及MySQL的数据持久化,共同构建了一个可扩展、灵活的树型菜单系统。这样的实现方式既能够充分利用...

    不用递归实现的无限级树型菜单

    在IT领域,构建无限级树型菜单是一种常见的需求,特别是在网站导航、文件系统或数据库结构的展示中。传统的实现方式通常使用递归算法,但这种方法可能会导致内存消耗过大,尤其是在菜单层级很深的情况下。本主题介绍...

    非常酷的各种树型菜单

    在桌面应用中,许多编程语言如Java、C#和Python都有内置或第三方库支持树型菜单的创建。例如,Java Swing 和 JavaFX 提供了JTree组件,C#的Windows Forms有TreeView控件,Python的Tkinter库也有类似的Treeview控件,...

    java 动态树型菜单实现

    在Java编程中,动态树型菜单是一种常见的UI设计元素,尤其在管理大量具有层次结构的数据时,如文件系统、组织架构或数据库结构等。本文将深入探讨如何使用Java实现动态树型菜单,以及其背后的原理。 首先,我们需要...

    树型菜单动态实现

    该 树型菜单是针对权限管理而写的,为了方便用JAVA来写了一个动态生成树型菜单。这个可以帮助你更好地进行权限控制管理。

    Java Script 特效之树型菜单

    树型菜单是一种常见的UI元素,它允许用户以层次结构浏览和选择数据。在本篇文章中,我们将深入探讨如何使用JavaScript来实现这样的特效。 首先,树型菜单的核心在于其递归的结构,通常使用HTML的`&lt;ul&gt;`和`&lt;li&gt;`元素...

    树型菜单和分支菜单

    在Java编程中,我们可以使用Java Swing或JavaFX库来实现树型菜单。例如,`javax.swing.JTree`类是Java Swing中用于创建树型菜单的组件。 分支菜单,有时也被称为下拉菜单,通常用于显示一组相关的选项,当用户点击...

    基于Java的实例开发源码-JSP树型菜单 DTree.zip

    在本资源"基于Java的实例开发源码-JSP树型菜单 DTree.zip"中,我们主要探讨的是如何在Java JSP应用中实现一种交互式的树型菜单。这种菜单通常用于组织和展示层次结构的数据,例如网站导航、文件系统或者数据库结构。...

    java操纵xml文件的读写,并根据xml生成树型菜单

    ### Java操作XML文件读写与树型菜单生成详解 #### 一、背景介绍 在现代软件开发中,XML(Extensible Markup Language)被广泛应用于数据交换、配置文件管理以及多种跨平台的应用场景中。Java作为一种重要的后端开发...

    JSP树型菜单 DTree.zip

    JSP(JavaServer Pages)中的DTree是一款高效且灵活的树型菜单实现,它结合了HTML、JavaScript以及CSS技术,提供了丰富的功能和自定义选项。本篇文章将对JSP树型菜单DTree进行深入探讨。 首先,DTree的核心在于其...

    无限级可刷新Js树型菜单.

    无限级可刷新Js树型菜单是一种常见的前端交互设计,它在网页应用中广泛用于展示具有层级关系的数据,如文件系统、组织结构、导航菜单等。本篇将详细讲解这种菜单的实现原理、核心功能和使用方法。 首先,无限级表示...

    JSP树型菜单 DTree.java源码学习

    在本主题中,我们将深入探讨如何使用DTree.java来实现一个树型菜单。DTree是一个流行的JavaScript库,用于在JSP页面上构建可交互的树形结构,常用于网站导航或数据展示。 首先,DTree.js是这个树型菜单的核心脚本...

    JSP+Ajax无刷新树型菜单数据库版

    总的来说,"JSP+Ajax无刷新树型菜单数据库版"是一个结合了前后端技术的实例,展示了如何利用JSP构建用户界面,通过Ajax实现动态数据加载,同时利用SQL管理数据库,从而提供了一个高效、交互性强的树型菜单系统。...

    基于Java的源码-JSP树型菜单 DTree.zip

    "基于Java的源码-JSP树型菜单 DTree.zip" 这个标题揭示了我们正在处理一个与Java编程相关的项目,具体来说是JSP(Java Server Pages)技术的应用。JSP是一种用于开发动态网页的技术,它允许在服务器端执行Java代码,...

    基于java的JSP树型菜单 DTree.zip

    本压缩包"基于java的JSP树型菜单 DTree.zip"提供了实现JSP页面中树形菜单功能的资源。下面将详细介绍这些资源及其在实际应用中的作用。 首先,`dtree.css`是样式表文件,它包含了树形菜单的样式定义。在网页开发中...

    基于Java的实例源码-JSP树型菜单 DTree.zip

    这个压缩包"基于Java的实例源码-JSP树型菜单 DTree.zip"包含了一个使用Java技术构建的JSP树型菜单应用。这个菜单系统被称为DTree,它在Web应用程序中常用于展示层次结构的数据,例如目录结构、组织架构或者多级分类...

    java源码资源JSP树型菜单DTree

    java源码资源JSP树型菜单 DTree提取方式是百度网盘分享地址

Global site tag (gtag.js) - Google Analytics