关于梅花雪的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">…

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">…

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}…

从决策树到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决策树定义 决策树的基本组成&…

从决策树到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;蒜末、辣椒末、水、生抽、老醋、糖、…

MOTOMAN-SV3X运动学建模验证图

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

小程序·云开发实战 - 迷你微博

0. 前言 本文将手把手教你如何写出迷你版微博的一行行代码&#xff0c;迷你版微博包含以下功能&#xff1a; Feed 流&#xff1a;关注动态、所有动态发送图文动态搜索用户关注系统点赞动态个人主页使用到的云开发能力&#xff1a; 云数据库云存储云函数云调用没错&#xff0c;几…

spring mvc学习(60):ssm项目整合

SSM整合 建立springmvc项目&#xff0c;先跑起来&#xff0c;再整合spring和mybatis 一.SpringMVC建立 1.新建maven工程&#xff0c;安装tomcat 2.导入pom <!-- springmvc --><dependency><groupId>org.springframework</groupId><artifactId>…

回溯算法归纳

回溯算法解题思路回溯的两种思路题目描述按照思路1解决按思路2解决回溯的两种思路 看不同的解题方法&#xff0c;形成不同的思维。 先说结论。回溯解题思路1&#xff1a;是对可选择每个元素&#xff0c;采取不选择、选择两种策略&#xff0c;不断递归下去。最近看花花酱的视频…

mybatis学习(1):【持久化框架】Mybatis简介与原理

从这篇博文开始我们学习一下Mybatis&#xff0c;希望大家提出宝贵的建议。 什么是Mybatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code&#xff0c;并且改名为MyBatis 。iBATIS一词来源于“internet”和“abati…

UML类图解义

小菜&#xff1a;“对了&#xff0c;我时常在一些技术书中看到这些类图表示&#xff0c;简单的还看得懂&#xff0c;有些标记我很容易混淆。要不你给我讲讲吧。” 大鸟&#xff1a;“这个其实多看多用就熟悉了。我给你举一个例子&#xff0c;来看这样一幅图&#xff0c;其中就包…

mybatis学习(2):基本设置和核心配置

1创建一个简单的java项目 2导入jar包 建立一个lib包 链接&#xff1a;https://pan.baidu.com/s/1eJ7xXF2qvUbgde2T--Sphg 提取码&#xff1a;3bgy 加入junit的包 右键项目---build path---add library 4导入配置文件 log4j.properties ### ### log4j.rootLogger ERROR,s…

mybatis学习(3):映射文件的配置和接口创建

配置文件 db.properties jdbc.drivercom.oracle.jdbc.OracleDriver jdbc.urljdbc:oracle:thin:127.0.0.1:1521:wiicare jdbc.usernamewiicare jdbc.passwordMdsd123 log4j.properties ### ### log4j.rootLogger ERROR,stdout### ¡ ### log4j.appender.stdout org.ap…

mybatis学习(4):工具类和实体类的创建

配置文件 db.properties jdbc.drivercom.oracle.jdbc.OracleDriver jdbc.urljdbc:oracle:thin:127.0.0.1:1521:wiicare jdbc.usernamewiicare jdbc.passwordMdsd123 log4j.properties ### ### log4j.rootLogger ERROR,stdout### ¡ ### log4j.appender.stdout org.ap…

windows下解决pip安装出错问题

今天使用pip install xxx突然报错&#xff0c;找了好久全是在linux上的解决方案&#xff0c;好不容易找到一个windows下的解决方案&#xff0c;所以将他记录下来。 解决方案&#xff1a; cmd中敲命令&#xff1a;python -m ensurepip 得到pip的setuptools 然后就可以用&#xf…

检测ID卡的输入或者是其它卡的输入。

由于ID卡或者是其它的一些不同类型的卡&#xff0c;它们只是负责模拟键盘的录入&#xff0c;但是&#xff0c;它们在录入的时候没有一个很好的标识位可以让我们知道当前输入的是客户手工录入的字符串还是ID卡读入的字符串&#xff0c;我相信&#xff0c;很多人在做这样的开发时…

mybatis学习(6):IntelliJ IDEA 如何创建一个普通的 Java 项目,及创建 Java 文件并运行

一、创建 Java 项目&#xff1a; 1、打开 IDEA 软件&#xff0c;点击界面上的 Create New Project 2、出现以下界面&#xff0c;选中 Java&#xff0c;然后选择 JDK&#xff0c;最后点击 Next&#xff0c;进行下一步&#xff08;我的是 jdk1.8&#xff09; 3、这里是选择生成项…

第一百五十期:Java程序员必备:异常的十个关键知识点

总结了Java异常十个关键知识点&#xff0c;面试或者工作中都有用哦&#xff0c;加油。异常是指阻止当前方法或作用域继续执行的问题。比如你读取的文件不存在&#xff0c;数组越界&#xff0c;进行除法时&#xff0c;除数为0等都会导致异常。 前言 总结了Java异常十个关键知识点…