关于梅花雪的js树

最近一段时间,为了学习java,天天在看别人的框架,为了实现一颗树,找到了一个改写梅花雪的js,下面是一个基本的结构

2007-11-03_225539.JPG

ExpandedBlockStart.gifContractedBlock.gif<%dot.gif@ page language="java" import="java.util.*" pageEncoding="GBK"%>
ExpandedBlockStart.gifContractedBlock.gif
<%dot.gif
InBlock.gif
String path = request.getContextPath();
ExpandedBlockEnd.gif
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
None.gif
%>
None.gif
None.gif
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
None.gif
<html>
None.gif  
<head>
None.gif    
<base href="<%=basePath%>">
None.gif    
None.gif    
<title>My JSP 'MyJsp.jsp' starting page</title>
None.gif    
None.gif    
<meta http-equiv="pragma" content="no-cache">
None.gif    
<meta http-equiv="cache-control" content="no-cache">
None.gif    
<meta http-equiv="expires" content="0">    
None.gif    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
None.gif    
<meta http-equiv="description" content="This is my page">
None.gif    
<script language="javaScript" src="MzTreeView12.js"></script>
ExpandedBlockStart.gifContractedBlock.gif
<style>dot.gif
ExpandedSubBlockStart.gifContractedSubBlock.gifbody 
{dot.gif}{font:normal 12px 宋体}
ExpandedSubBlockStart.gifContractedSubBlock.gifa.MzTreeview 
/**//* TreeView 链接的基本样式 */ {dot.gif}{ cursor: hand; color: #000080; margin-top: 5px; padding: 2 1 0 2; text-decoration: none; }
ExpandedSubBlockStart.gifContractedSubBlock.gif.MzTreeview a.select 
/**//* TreeView 链接被选中时的样式 */ {dot.gif}{ color: highlighttext; background-color: highlight; }
ExpandedSubBlockStart.gifContractedSubBlock.gif#kkk input 
{dot.gif}{
InBlock.gifvertical-align
:middle;
ExpandedSubBlockEnd.gif
}

ExpandedSubBlockStart.gifContractedSubBlock.gif.MzTreeViewRow 
{dot.gif}{border:none;width:500px;padding:0px;margin:0px;border-collapse:collapse}
ExpandedSubBlockStart.gifContractedSubBlock.gif.MzTreeViewCell0 
{dot.gif}{border-bottom:1px solid #CCCCCC;padding:0px;margin:0px;}
ExpandedSubBlockStart.gifContractedSubBlock.gif.MzTreeViewCell1 
{dot.gif}{border-bottom:1px solid #CCCCCC;border-left:1px solid #CCCCCC;width:200px;padding:0px;margin:0px;}
None.gif
</style>
None.gif    
<script type="text/javascript" src="/HAS/info/js/MzTreeView12.js"></script>
None.gif    
None.gif    
None.gif  
</head>
None.gif  
None.gif  
<body>
None.gif    
<h3>MzTreeView + CheckBox 复选框 + 自定义表格 演示 (MzTreeView v1.2 www.lxasp.com 修改版)</h3>
None.gif
None.gif
None.gif
<table class='MzTreeViewRow' style="background:#EEEEEE;border-top:1px solid #CCCCCC;"><tr><th class='MzTreeViewCell0'></th><th class='MzTreeViewCell1'>ID</th></tr></table>
None.gif
None.gif
<div id="kkk"></div>
None.gif
None.gif
ExpandedBlockStart.gifContractedBlock.gif    
<script language="javascript" type="text/javascript">dot.gif
InBlock.gif    
<!--
InBlock.gif    
//var MzTreeViewTH="<table class='MzTreeViewRow'><tr><td class='MzTreeViewCell0'>";
InBlock.gif
    //var MzTreeViewTD="\"</td><td class='MzTreeViewCell1'>\"+ sid +\"</td></tr></table>\"";
InBlock.gif
    
InBlock.gif    window.tree 
= new MzTreeView("tree");
ExpandedSubBlockStart.gifContractedSubBlock.gif    
/**//*
InBlock.gif    tree.icons["property"] = "property.gif";
InBlock.gif    tree.icons["css"] = "collection.gif";
InBlock.gif    tree.icons["event"] = "collection.gif";
InBlock.gif    tree.icons["book"]  = "book.gif";
InBlock.gif    tree.iconsExpand["book"] = "bookopen.gif"; //展开时对应的图片
ExpandedSubBlockEnd.gif    
*/

InBlock.gif    tree.setIconPath(
"/HAS/info/images/treeimages/"); //可用相对路径
InBlock.gif
    tree.N["0_SH8900000000"= "ctrl:sel;checked:1;T:系统管理;"
InBlock.gif    tree.N[
"SH8900000000_SH8901000000"= "ctrl:sel;checked:1;T:文书模板管理"
InBlock.gif    tree.N[
"SH8900000000_SH8902000000"= "ctrl:sel;checked:0;T:自定义流程管理"
InBlock.gif    tree.N[
"SH8900000000_SH8903000000"= "ctrl:sel;checked:1;T:质量考核因素"
InBlock.gif    tree.N[
"SH8900000000_SH8904000000"= "ctrl:sel;checked:1;T:节假日管理"
InBlock.gif    tree.N[
"SH8900000000_SH8905000000"= "ctrl:sel;checked:1;T:事项管理"
InBlock.gif    tree.N[
"SH8900000000_SH8906000000"= "ctrl:sel;checked:1;T:用户及权限管理"
InBlock.gif    tree.N[
"SH8900000000_SH8907000000"= "ctrl:sel;checked:1;T:组织机构管理"
InBlock.gif    tree.N[
"SH8906000000_SH8906010000"= "ctrl:sel;checked:1;T:添加新用户"
InBlock.gif    tree.N[
"SH8907000000_SH8907010000"= "ctrl:sel;checked:1;T:添加组织机构"
InBlock.gif    tree.N[
"SH8906000000_SH8906020000"= "ctrl:sel;checked:0;T:用户管理"
InBlock.gif    tree.N[
"SH8907000000_SH8907020000"= "ctrl:sel;checked:0;T:组织机构管理"
InBlock.gif    tree.N[
"SH8906000000_SH8906030000"= "ctrl:sel;checked:1;T:添加新角色"
InBlock.gif    tree.N[
"SH8906000000_SH8906040000"= "ctrl:sel;checked:1;T:系统角色管理"
InBlock.gif
InBlock.gif    tree.setURL(
"#");
InBlock.gif    tree.wordLine 
= false;
InBlock.gif    tree.setTarget(
"main");
InBlock.gif    document.getElementById(
"kkk").innerHTML=tree.toString();
InBlock.gif    tree.expandAll();
InBlock.gif    
InBlock.gif    
//alert(document.getElementsByTagName("head")[0].innerHTML);
InBlock.gif
    //alert(document.getElementById("kkk").innerHTML);
InBlock.gif
    
InBlock.gif    
function showsel()
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
var es=document.getElementsByName("sel");
InBlock.gif        
var out="";
InBlock.gif        
for(var i=0;i<es.length;i++)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
if (es[i].checked) out+=es[i].value+"\n";
ExpandedSubBlockEnd.gif        }

InBlock.gif        alert(out);
ExpandedSubBlockEnd.gif    }

InBlock.gif    
//-->
ExpandedBlockEnd.gif
    
</script>
None.gif
<p>
None.gif
<input type="button" onclick='showsel()' value='显示选中' />
None.gif
</p>
None.gif  
</body>
None.gif
</html>
None.gif


部门表结构:
编号      名称           上级
bianhao  mingcheng  shangji


在action中
ExpandedBlockStart.gifContractedBlock.gif/** *//**
InBlock.gif     * 得到部门
InBlock.gif     * 
@param mapping
InBlock.gif     * 
@param form
InBlock.gif     * 
@param request
InBlock.gif     * 
@param response
InBlock.gif     * 
@return
ExpandedBlockEnd.gif     
*/

None.gif    
public ActionForward getBuMen(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response)
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif{
InBlock.gif
InBlock.gif
//        实现注入
InBlock.gif
         UserManagerService userManagerService = GlobalService.getUserManagerService();
InBlock.gif         
InBlock.gif         List list
=userManagerService.getBuMen();
InBlock.gif         
InBlock.gif
InBlock.gif         Bumen bm
=new Bumen();
InBlock.gif        StringBuffer str
=new StringBuffer();
InBlock.gif        
InBlock.gif        
//图片路径
InBlock.gif
        str.append("tree.setIconPath('/HAS/info/images/treeimages/');");
InBlock.gif        str.append(
"\n");
InBlock.gif        
InBlock.gif         Iterator iterator 
= list.iterator(); 
InBlock.gif         
while(iterator.hasNext())
ExpandedSubBlockStart.gifContractedSubBlock.gif         
dot.gif{
InBlock.gif            
ExpandedSubBlockStart.gifContractedSubBlock.gif             
trydot.gif{
InBlock.gif                 Object[] obj 
= (Object[])iterator.next();
InBlock.gif                 String bianhao 
= obj[0].toString();
InBlock.gif                 String mingcheng 
= obj[1].toString();
InBlock.gif                 String shangji 
= obj[2].toString();
InBlock.gif                 
InBlock.gif                 bm.setBianhao(bianhao);
InBlock.gif                 bm.setMingcheng(mingcheng);
InBlock.gif                 bm.setShangji(shangji);
ExpandedSubBlockEnd.gif             }

ExpandedSubBlockStart.gifContractedSubBlock.gif             
catch(Exception e)dot.gif{
InBlock.gif                e.printStackTrace(); 
ExpandedSubBlockEnd.gif             }

InBlock.gif             
InBlock.gif             
if(bm.getBianhao().substring(1,12).equals("00000000000"))
ExpandedSubBlockStart.gifContractedSubBlock.gif             
dot.gif{
InBlock.gif                 str.append(
"tree.N['0");
InBlock.gif                 str.append(
"_");
InBlock.gif                 str.append(bm.getBianhao());
InBlock.gif                 str.append(
"']");
InBlock.gif                 str.append(
"=");
InBlock.gif                 str.append(
"'ctrl:sel;checked:0;T:"+bm.getMingcheng()+"'");
InBlock.gif                 str.append(
"\n");
ExpandedSubBlockEnd.gif             }

InBlock.gif             
else
ExpandedSubBlockStart.gifContractedSubBlock.gif             
dot.gif{
InBlock.gif                 str.append(
"tree.N['");
InBlock.gif                 str.append(bm.getShangji());
InBlock.gif                 str.append(
"_");
InBlock.gif                 str.append(bm.getBianhao());
InBlock.gif                 str.append(
"']");
InBlock.gif                 str.append(
"=");
InBlock.gif                 str.append(
"'ctrl:sel;checked:0;T:"+bm.getMingcheng()+"'");
InBlock.gif                 str.append(
"\n");
ExpandedSubBlockEnd.gif             }

InBlock.gif
InBlock.gif         
InBlock.gif         
InBlock.gif        
InBlock.gif        
//第二种用法
InBlock.gif         
InBlock.gif
//         for(int i = 0; i < list.size(); i++)
InBlock.gif
//         {
InBlock.gif
//             Bumen bm = (Bumen)list.get(i);
InBlock.gif
//             
InBlock.gif
//             if(bm.getBianhao().substring(1,12).equals("00000000000"))
InBlock.gif
//                  {
InBlock.gif
//                      str.append("tree.N['0");
InBlock.gif
//                      //str.append(bm.getShangji());
InBlock.gif
//                      str.append("_");
InBlock.gif
//                      str.append(bm.getBianhao());
InBlock.gif
//         
InBlock.gif
//                      str.append("']");
InBlock.gif
//                      str.append("=");
InBlock.gif
//         
InBlock.gif
//                      str.append("'ctrl:sel;checked:0;T:"+bm.getMingcheng()+"'");
InBlock.gif
//         
InBlock.gif
//                      str.append("\n");
InBlock.gif
//                  }
InBlock.gif
//                  else
InBlock.gif
//                  {
InBlock.gif
//                      str.append("tree.N['");
InBlock.gif
//                      str.append(bm.getShangji());
InBlock.gif
//                      str.append("_");
InBlock.gif
//                      str.append(bm.getBianhao());
InBlock.gif
//         
InBlock.gif
//                      str.append("']");
InBlock.gif
//                      str.append("=");
InBlock.gif
//         
InBlock.gif
//                      str.append("'ctrl:sel;checked:0;T:"+bm.getMingcheng()+"'");
InBlock.gif
//         
InBlock.gif
//                      str.append("\n");
InBlock.gif
//                  }
InBlock.gif
//             
ExpandedSubBlockEnd.gif
         }

InBlock.gif         
InBlock.gif         
InBlock.gif         str.append(
"tree.setURL('#');");
InBlock.gif         str.append(
"\n");
InBlock.gif         str.append(
"tree.wordLine=false;");
InBlock.gif         str.append(
"\n");
InBlock.gif         str.append(
"tree.setTarget('main');");
InBlock.gif         str.append(
"\n");
InBlock.gif         
InBlock.gif
InBlock.gif         
InBlock.gif        request.setAttribute(
"BUMENTREE", str); 
InBlock.gif        request.setAttribute(
"LISTBUMEN", list);
InBlock.gif        
return mapping.findForward("bumen");
ExpandedBlockEnd.gif    }

None.gif
None.gif}

其中是使用dao的注入方式,来得到部门

js下载地址:
http://www.cnbolgs.com/Files/huazi4995/MzTreeView12.js

转载于:https://www.cnblogs.com/huazi4995/archive/2007/11/03/948454.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/423935.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

总和最大区间问题

题目和解题思路来源于吴军著作《计算之魂》。本题目是例题1.3。 文章目录1 问题描述2 解题思路2.1 三重循环2.2 两重循环2.3 分治法2.4 正反两遍扫描的方法2.5 再进一步&#xff0c;假设失效3 应用动态规划1 问题描述 总和最大区间问题&#xff1a;给定一个实数序列&#xff0…

spring mvc学习(54):简单异常处理

引入jar包 pom.xml <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">…

【原】docker部署单节点consul

docker下部署单节点的consul&#xff0c;最重要的是在run consul时&#xff0c;配置-bootstrap-expect1 docker run --name consul1 -d -p 5902:8500 -p 8300:8300 -p 8301:8301 -p 8302:8302 -p 8600:8600 10.109.30.246:5901/daily_docker/consul:1.4.5 agent -server -boots…

learning to rank评价指标

文章目录1 准确率Mean average precision1.1 定义1.2 计算2 NDCG(Normalized Discounted Cumulative Gain)2.1定义2.2 例子1 准确率Mean average precision 1.1 定义 Precision at position k (Pk)是一个衡量排名前k位的方法&#xff0c;使用两个级别(相关的和不相关)的相关性…

Re: 社团改革还让不让人活了?

好&#xff0c;说到换位思考&#xff0c;说到服务&#xff0c; 我说一个学校应该给我们社团&#xff08;跑步爱好者协会&#xff09;做的一项最基本的服务── 体检&#xff01; 马拉松年年报名年年体检&#xff0c;但是校医院从来就没有肯为我们做过体检。 马拉松的体检并不复…

spring mvc学习(55):简单异常处理二

引入jar包 pom.xml <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">…

深入学习linux socket编程之select

很多天之前都说学习关于select和poll的知识了&#xff0c;但是由于既要工作&#xff0c;又要准备论文。都忙不过来&#xff0c;今天终于能抽出一天的时间把select的相关知识和程序给实现了一遍。 select系统调用是用来让我们的程序监视多个文件句柄(file descriptor)的状态变化…

Jelinek-Merer与Absolute discounting 平滑方法

Jelinek-Merer Jelinek-Merer平滑方法的基本思想是利用低元n-gram模型对高元n-gram模型进行线性插值。 PML(wi∣wi−1)c(wi,wi−1)c(wi−1)P_{ML}(w_i|w_{i-1})\dfrac{c(w_i,w_{i-1})}{c(w_{i-1})}PML​(wi​∣wi−1​)c(wi−1​)c(wi​,wi−1​)​ c(wi,wi−1)c(w_i,w_{i-1}…

超级实用且不花哨的js代码大全

****************************************************************&#xff08;一&#xff09;常用元素&#xff0c;对象&#xff0c;事件&#xff0c;技巧事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture(); event.srcEl…

phpMyAdmin 配置

下载&#xff1a;http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/4.0.2/phpMyAdmin-4.0.2-all-languages.tar.bz2?rhttp%3A%2F%2Fsourceforge.net%2Fprojects%2Fphpmyadmin%2F&ts1370058054&use_mirrorncu 输入用户名和密码后点击“执行”&#xff…

三种平滑方法

为了理解《LETOR: A benchmark collection for research on learning to rank for information retrieval》中提出的数据特征中的三个&#xff1a;LMIR.ABS、LMIR.DIR、LMIR.JM的计算方法&#xff0c;我查阅了很多资料。前面一篇博客是理解。这一篇也是。这篇博客的内容来自《A…

控制台读写

program Project1;{$APPTYPE CONSOLE}varstr: string; beginWriteln(请输入&#xff1a;);Readln(str);Writeln(你输入的是&#xff1a; str);Readln; end.转载于:https://www.cnblogs.com/del/archive/2007/11/21/967013.html

基于Chromium构建Chrome WebBrowser for .net 控件(还有点心得体会)

http://blog.csdn.net/lllllllllluoyi/article/details/8540054 首先向360说句sorry&#xff0c;在2011年360极速浏览器出现的时候我去他们论坛里骂过。为什么要到歉呢&#xff0c;因为2012年我把我们公司使用IE WebBrowser改为Chrome控件了&#xff0c;中间遇到的辛酸使我明白…

我们“老实”么?

我们“老实”么&#xff1f; 不知道现在的人&#xff0c;对老实这个词语是怎样的看法。“聪明”的人应该觉得那是个贬义词吧&#xff0c;因为他们总是在利用那些他们认为的“老实”人&#xff0c;有好事的时候他们想到的是那些他们畏惧或者讨好自己的人&#xff0c;有麻烦的时候…

从决策树到xgboost(一)

文章目录1 决策树1.1决策树定义1.2信息增益1.3 信息增益的算法1.4 信息增益比2 决策树ID32.1 ID3树的构建2.2 决策树的剪枝2.2.1 损失函数定义与计算2.2.2 剪枝过程2.3 CART树2.3.1 CART回归树2.3.2 CART分类树2.3.3 CART树剪枝1 决策树 1.1决策树定义 决策树的基本组成&…

网络媒体的赢利模式

首先我们先确定几个概念&#xff0c;网络媒体本质上是媒体的一种&#xff0c;它具有媒体的一切共性&#xff0c;同时它的经营也具有媒体经营的一切共性&#xff0c;而媒体除网络媒体以外&#xff0c;我们把其余的统称为传统媒体&#xff0c;其中又把电视、电台和报刊称之为传统…

从决策树到xgboost(二)

文章目录3 集成学习4 Adaboost4.1 Adaboost算法4.1.1 初始化训练数据的起始权值分布4.1.2 对m个弱分类器m1,2,3...M4.1.3 构建弱分类器的线性组合4.1.4 得到最终的分类器5 Boosting5.1 加法模型5.2 前向分布算法6 提升决策树BDT6.1 BDT算法6.2 回归问题提升树7 梯度提升决策树G…

[伤了昨天的心 裂成碎片和沙一起飞]五香里脊

今晨3点挂的电话&#xff0c;6点睁开的眼。困到头痛&#xff0c;但还是烧了道肉菜。…**…**…**…**…**…**…**…*分隔 五香里脊*…**…**…**…**…**…**…**…五香里脊 材料&#xff1a;1&#xff0e;里脊肉、油、麻油。2&#xff0e;蒜末、辣椒末、水、生抽、老醋、糖、…

python 字符串format使用

python字符串的格式化输出 格式化字符串是程序设计语言中用于指定输出参数的格式化与相对位置的字符串参数。其中的转换说明用于把随后的对应一个或多个函数参数转换为相应的格式输出&#xff1a;格式化字符串中转换说明以外的其他字符原样输出。 1>>>"I like %s…

MOTOMAN-SV3X运动学建模验证图

以下是正解&#xff0c;逆解 结果 转载于:https://www.cnblogs.com/wqj1212/archive/2008/01/01/1022177.html