关于梅花雪的js树
最近一段時間,為了學習java,天天在看別人的框架,為了實現一顆樹,找到了一個改寫梅花雪的js,下面是一個基本的結構
<%@?page?language="java"?import="java.util.*"?pageEncoding="GBK"%>
<%
String?path?=?request.getContextPath();
String?basePath?=?request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN">
<html>
??<head>
????<base?href="<%=basePath%>">
????
????<title>My?JSP?'MyJsp.jsp'?starting?page</title>
????
????<meta?http-equiv="pragma"?content="no-cache">
????<meta?http-equiv="cache-control"?content="no-cache">
????<meta?http-equiv="expires"?content="0">????
????<meta?http-equiv="keywords"?content="keyword1,keyword2,keyword3">
????<meta?http-equiv="description"?content="This?is?my?page">
????<script?language="javaScript"?src="MzTreeView12.js"></script>
<style>
body?{}{font:normal?12px?宋體}
a.MzTreeview?/**//*?TreeView?鏈接的基本樣式?*/?{}{?cursor:?hand;?color:?#000080;?margin-top:?5px;?padding:?2?1?0?2;?text-decoration:?none;?}
.MzTreeview?a.select?/**//*?TreeView?鏈接被選中時的樣式?*/?{}{?color:?highlighttext;?background-color:?highlight;?}
#kkk?input?{}{
vertical-align:middle;
}
.MzTreeViewRow?{}{border:none;width:500px;padding:0px;margin:0px;border-collapse:collapse}
.MzTreeViewCell0?{}{border-bottom:1px?solid?#CCCCCC;padding:0px;margin:0px;}
.MzTreeViewCell1?{}{border-bottom:1px?solid?#CCCCCC;border-left:1px?solid?#CCCCCC;width:200px;padding:0px;margin:0px;}
</style>
????<script?type="text/javascript"?src="/HAS/info/js/MzTreeView12.js"></script>
????
????
??</head>
??
??<body>
????<h3>MzTreeView?+?CheckBox?復選框?+?自定義表格?演示?(MzTreeView?v1.2?www.lxasp.com?修改版)</h3>
<table?class='MzTreeViewRow'?style="background:#EEEEEE;border-top:1px?solid?#CCCCCC;"><tr><th?class='MzTreeViewCell0'>樹</th><th?class='MzTreeViewCell1'>ID</th></tr></table>
<div?id="kkk"></div>
????<script?language="javascript"?type="text/javascript">
????<!--
????//var?MzTreeViewTH="<table?class='MzTreeViewRow'><tr><td?class='MzTreeViewCell0'>";
????//var?MzTreeViewTD="\"</td><td?class='MzTreeViewCell1'>\"+?sid?+\"</td></tr></table>\"";
????
????window.tree?=?new?MzTreeView("tree");
????/**//*
????tree.icons["property"]?=?"property.gif";
????tree.icons["css"]?=?"collection.gif";
????tree.icons["event"]?=?"collection.gif";
????tree.icons["book"]??=?"book.gif";
????tree.iconsExpand["book"]?=?"bookopen.gif";?//展開時對應的圖片
????*/
????tree.setIconPath("/HAS/info/images/treeimages/");?//可用相對路徑
????tree.N["0_SH8900000000"]?=?"ctrl:sel;checked:1;T:系統管理;"
????tree.N["SH8900000000_SH8901000000"]?=?"ctrl:sel;checked:1;T:文書模板管理"
????tree.N["SH8900000000_SH8902000000"]?=?"ctrl:sel;checked:0;T:自定義流程管理"
????tree.N["SH8900000000_SH8903000000"]?=?"ctrl:sel;checked:1;T:質量考核因素"
????tree.N["SH8900000000_SH8904000000"]?=?"ctrl:sel;checked:1;T:節假日管理"
????tree.N["SH8900000000_SH8905000000"]?=?"ctrl:sel;checked:1;T:事項管理"
????tree.N["SH8900000000_SH8906000000"]?=?"ctrl:sel;checked:1;T:用戶及權限管理"
????tree.N["SH8900000000_SH8907000000"]?=?"ctrl:sel;checked:1;T:組織機構管理"
????tree.N["SH8906000000_SH8906010000"]?=?"ctrl:sel;checked:1;T:添加新用戶"
????tree.N["SH8907000000_SH8907010000"]?=?"ctrl:sel;checked:1;T:添加組織機構"
????tree.N["SH8906000000_SH8906020000"]?=?"ctrl:sel;checked:0;T:用戶管理"
????tree.N["SH8907000000_SH8907020000"]?=?"ctrl:sel;checked:0;T:組織機構管理"
????tree.N["SH8906000000_SH8906030000"]?=?"ctrl:sel;checked:1;T:添加新角色"
????tree.N["SH8906000000_SH8906040000"]?=?"ctrl:sel;checked:1;T:系統角色管理"
????tree.setURL("#");
????tree.wordLine?=?false;
????tree.setTarget("main");
????document.getElementById("kkk").innerHTML=tree.toString();
????tree.expandAll();
????
????//alert(document.getElementsByTagName("head")[0].innerHTML);
????//alert(document.getElementById("kkk").innerHTML);
????
????function?showsel()
????{
????????var?es=document.getElementsByName("sel");
????????var?out="";
????????for(var?i=0;i<es.length;i++)
????????{
????????????if?(es[i].checked)?out+=es[i].value+"\n";
????????}
????????alert(out);
????}
????//-->
????</script>
<p>
<input?type="button"?onclick='showsel()'?value='顯示選中'?/>
</p>
??</body>
</html>
部門表結構:
編號????? 名稱?????????? 上級
bianhao? mingcheng? shangji
在action中
/**?*//**
?????*?得到部門
?????*?@param?mapping
?????*?@param?form
?????*?@param?request
?????*?@param?response
?????*?@return
?????*/
????public?ActionForward?getBuMen(ActionMapping?mapping,ActionForm?form,HttpServletRequest?request,HttpServletResponse?response)
????{
//????????實現注入
?????????UserManagerService?userManagerService?=?GlobalService.getUserManagerService();
?????????
?????????List?list=userManagerService.getBuMen();
?????????
?????????Bumen?bm=new?Bumen();
????????StringBuffer?str=new?StringBuffer();
????????
????????//圖片路徑
????????str.append("tree.setIconPath('/HAS/info/images/treeimages/');");
????????str.append("\n");
????????
?????????Iterator?iterator?=?list.iterator();?
?????????while(iterator.hasNext())
?????????{
????????????
?????????????try{
?????????????????Object[]?obj?=?(Object[])iterator.next();
?????????????????String?bianhao?=?obj[0].toString();
?????????????????String?mingcheng?=?obj[1].toString();
?????????????????String?shangji?=?obj[2].toString();
?????????????????
?????????????????bm.setBianhao(bianhao);
?????????????????bm.setMingcheng(mingcheng);
?????????????????bm.setShangji(shangji);
?????????????}
?????????????catch(Exception?e){
????????????????e.printStackTrace();?
?????????????}
?????????????
?????????????if(bm.getBianhao().substring(1,12).equals("00000000000"))
?????????????{
?????????????????str.append("tree.N['0");
?????????????????str.append("_");
?????????????????str.append(bm.getBianhao());
?????????????????str.append("']");
?????????????????str.append("=");
?????????????????str.append("'ctrl:sel;checked:0;T:"+bm.getMingcheng()+"'");
?????????????????str.append("\n");
?????????????}
?????????????else
?????????????{
?????????????????str.append("tree.N['");
?????????????????str.append(bm.getShangji());
?????????????????str.append("_");
?????????????????str.append(bm.getBianhao());
?????????????????str.append("']");
?????????????????str.append("=");
?????????????????str.append("'ctrl:sel;checked:0;T:"+bm.getMingcheng()+"'");
?????????????????str.append("\n");
?????????????}
?????????
?????????
????????
????????//第二種用法
?????????
//?????????for(int?i?=?0;?i?<?list.size();?i++)
//?????????{
//?????????????Bumen?bm?=?(Bumen)list.get(i);
//?????????????
//?????????????if(bm.getBianhao().substring(1,12).equals("00000000000"))
//??????????????????{
//??????????????????????str.append("tree.N['0");
//??????????????????????//str.append(bm.getShangji());
//??????????????????????str.append("_");
//??????????????????????str.append(bm.getBianhao());
//?????????
//??????????????????????str.append("']");
//??????????????????????str.append("=");
//?????????
//??????????????????????str.append("'ctrl:sel;checked:0;T:"+bm.getMingcheng()+"'");
//?????????
//??????????????????????str.append("\n");
//??????????????????}
//??????????????????else
//??????????????????{
//??????????????????????str.append("tree.N['");
//??????????????????????str.append(bm.getShangji());
//??????????????????????str.append("_");
//??????????????????????str.append(bm.getBianhao());
//?????????
//??????????????????????str.append("']");
//??????????????????????str.append("=");
//?????????
//??????????????????????str.append("'ctrl:sel;checked:0;T:"+bm.getMingcheng()+"'");
//?????????
//??????????????????????str.append("\n");
//??????????????????}
//?????????????
?????????}
?????????
?????????
?????????str.append("tree.setURL('#');");
?????????str.append("\n");
?????????str.append("tree.wordLine=false;");
?????????str.append("\n");
?????????str.append("tree.setTarget('main');");
?????????str.append("\n");
?????????
?????????
????????request.setAttribute("BUMENTREE",?str);?
????????request.setAttribute("LISTBUMEN",?list);
????????return?mapping.findForward("bumen");
????}
}
其中是使用dao的注入方式,來得到部門
js下載地址:
http://www.cnbolgs.com/Files/huazi4995/MzTreeView12.js
<%@?page?language="java"?import="java.util.*"?pageEncoding="GBK"%>
<%
String?path?=?request.getContextPath();
String?basePath?=?request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN">
<html>
??<head>
????<base?href="<%=basePath%>">
????
????<title>My?JSP?'MyJsp.jsp'?starting?page</title>
????
????<meta?http-equiv="pragma"?content="no-cache">
????<meta?http-equiv="cache-control"?content="no-cache">
????<meta?http-equiv="expires"?content="0">????
????<meta?http-equiv="keywords"?content="keyword1,keyword2,keyword3">
????<meta?http-equiv="description"?content="This?is?my?page">
????<script?language="javaScript"?src="MzTreeView12.js"></script>
<style>
body?{}{font:normal?12px?宋體}
a.MzTreeview?/**//*?TreeView?鏈接的基本樣式?*/?{}{?cursor:?hand;?color:?#000080;?margin-top:?5px;?padding:?2?1?0?2;?text-decoration:?none;?}
.MzTreeview?a.select?/**//*?TreeView?鏈接被選中時的樣式?*/?{}{?color:?highlighttext;?background-color:?highlight;?}
#kkk?input?{}{
vertical-align:middle;
}
.MzTreeViewRow?{}{border:none;width:500px;padding:0px;margin:0px;border-collapse:collapse}
.MzTreeViewCell0?{}{border-bottom:1px?solid?#CCCCCC;padding:0px;margin:0px;}
.MzTreeViewCell1?{}{border-bottom:1px?solid?#CCCCCC;border-left:1px?solid?#CCCCCC;width:200px;padding:0px;margin:0px;}
</style>
????<script?type="text/javascript"?src="/HAS/info/js/MzTreeView12.js"></script>
????
????
??</head>
??
??<body>
????<h3>MzTreeView?+?CheckBox?復選框?+?自定義表格?演示?(MzTreeView?v1.2?www.lxasp.com?修改版)</h3>
<table?class='MzTreeViewRow'?style="background:#EEEEEE;border-top:1px?solid?#CCCCCC;"><tr><th?class='MzTreeViewCell0'>樹</th><th?class='MzTreeViewCell1'>ID</th></tr></table>
<div?id="kkk"></div>
????<script?language="javascript"?type="text/javascript">
????<!--
????//var?MzTreeViewTH="<table?class='MzTreeViewRow'><tr><td?class='MzTreeViewCell0'>";
????//var?MzTreeViewTD="\"</td><td?class='MzTreeViewCell1'>\"+?sid?+\"</td></tr></table>\"";
????
????window.tree?=?new?MzTreeView("tree");
????/**//*
????tree.icons["property"]?=?"property.gif";
????tree.icons["css"]?=?"collection.gif";
????tree.icons["event"]?=?"collection.gif";
????tree.icons["book"]??=?"book.gif";
????tree.iconsExpand["book"]?=?"bookopen.gif";?//展開時對應的圖片
????*/
????tree.setIconPath("/HAS/info/images/treeimages/");?//可用相對路徑
????tree.N["0_SH8900000000"]?=?"ctrl:sel;checked:1;T:系統管理;"
????tree.N["SH8900000000_SH8901000000"]?=?"ctrl:sel;checked:1;T:文書模板管理"
????tree.N["SH8900000000_SH8902000000"]?=?"ctrl:sel;checked:0;T:自定義流程管理"
????tree.N["SH8900000000_SH8903000000"]?=?"ctrl:sel;checked:1;T:質量考核因素"
????tree.N["SH8900000000_SH8904000000"]?=?"ctrl:sel;checked:1;T:節假日管理"
????tree.N["SH8900000000_SH8905000000"]?=?"ctrl:sel;checked:1;T:事項管理"
????tree.N["SH8900000000_SH8906000000"]?=?"ctrl:sel;checked:1;T:用戶及權限管理"
????tree.N["SH8900000000_SH8907000000"]?=?"ctrl:sel;checked:1;T:組織機構管理"
????tree.N["SH8906000000_SH8906010000"]?=?"ctrl:sel;checked:1;T:添加新用戶"
????tree.N["SH8907000000_SH8907010000"]?=?"ctrl:sel;checked:1;T:添加組織機構"
????tree.N["SH8906000000_SH8906020000"]?=?"ctrl:sel;checked:0;T:用戶管理"
????tree.N["SH8907000000_SH8907020000"]?=?"ctrl:sel;checked:0;T:組織機構管理"
????tree.N["SH8906000000_SH8906030000"]?=?"ctrl:sel;checked:1;T:添加新角色"
????tree.N["SH8906000000_SH8906040000"]?=?"ctrl:sel;checked:1;T:系統角色管理"
????tree.setURL("#");
????tree.wordLine?=?false;
????tree.setTarget("main");
????document.getElementById("kkk").innerHTML=tree.toString();
????tree.expandAll();
????
????//alert(document.getElementsByTagName("head")[0].innerHTML);
????//alert(document.getElementById("kkk").innerHTML);
????
????function?showsel()
????{
????????var?es=document.getElementsByName("sel");
????????var?out="";
????????for(var?i=0;i<es.length;i++)
????????{
????????????if?(es[i].checked)?out+=es[i].value+"\n";
????????}
????????alert(out);
????}
????//-->
????</script>
<p>
<input?type="button"?onclick='showsel()'?value='顯示選中'?/>
</p>
??</body>
</html>
部門表結構:
編號????? 名稱?????????? 上級
bianhao? mingcheng? shangji
在action中
/**?*//**
?????*?得到部門
?????*?@param?mapping
?????*?@param?form
?????*?@param?request
?????*?@param?response
?????*?@return
?????*/
????public?ActionForward?getBuMen(ActionMapping?mapping,ActionForm?form,HttpServletRequest?request,HttpServletResponse?response)
????{
//????????實現注入
?????????UserManagerService?userManagerService?=?GlobalService.getUserManagerService();
?????????
?????????List?list=userManagerService.getBuMen();
?????????
?????????Bumen?bm=new?Bumen();
????????StringBuffer?str=new?StringBuffer();
????????
????????//圖片路徑
????????str.append("tree.setIconPath('/HAS/info/images/treeimages/');");
????????str.append("\n");
????????
?????????Iterator?iterator?=?list.iterator();?
?????????while(iterator.hasNext())
?????????{
????????????
?????????????try{
?????????????????Object[]?obj?=?(Object[])iterator.next();
?????????????????String?bianhao?=?obj[0].toString();
?????????????????String?mingcheng?=?obj[1].toString();
?????????????????String?shangji?=?obj[2].toString();
?????????????????
?????????????????bm.setBianhao(bianhao);
?????????????????bm.setMingcheng(mingcheng);
?????????????????bm.setShangji(shangji);
?????????????}
?????????????catch(Exception?e){
????????????????e.printStackTrace();?
?????????????}
?????????????
?????????????if(bm.getBianhao().substring(1,12).equals("00000000000"))
?????????????{
?????????????????str.append("tree.N['0");
?????????????????str.append("_");
?????????????????str.append(bm.getBianhao());
?????????????????str.append("']");
?????????????????str.append("=");
?????????????????str.append("'ctrl:sel;checked:0;T:"+bm.getMingcheng()+"'");
?????????????????str.append("\n");
?????????????}
?????????????else
?????????????{
?????????????????str.append("tree.N['");
?????????????????str.append(bm.getShangji());
?????????????????str.append("_");
?????????????????str.append(bm.getBianhao());
?????????????????str.append("']");
?????????????????str.append("=");
?????????????????str.append("'ctrl:sel;checked:0;T:"+bm.getMingcheng()+"'");
?????????????????str.append("\n");
?????????????}
?????????
?????????
????????
????????//第二種用法
?????????
//?????????for(int?i?=?0;?i?<?list.size();?i++)
//?????????{
//?????????????Bumen?bm?=?(Bumen)list.get(i);
//?????????????
//?????????????if(bm.getBianhao().substring(1,12).equals("00000000000"))
//??????????????????{
//??????????????????????str.append("tree.N['0");
//??????????????????????//str.append(bm.getShangji());
//??????????????????????str.append("_");
//??????????????????????str.append(bm.getBianhao());
//?????????
//??????????????????????str.append("']");
//??????????????????????str.append("=");
//?????????
//??????????????????????str.append("'ctrl:sel;checked:0;T:"+bm.getMingcheng()+"'");
//?????????
//??????????????????????str.append("\n");
//??????????????????}
//??????????????????else
//??????????????????{
//??????????????????????str.append("tree.N['");
//??????????????????????str.append(bm.getShangji());
//??????????????????????str.append("_");
//??????????????????????str.append(bm.getBianhao());
//?????????
//??????????????????????str.append("']");
//??????????????????????str.append("=");
//?????????
//??????????????????????str.append("'ctrl:sel;checked:0;T:"+bm.getMingcheng()+"'");
//?????????
//??????????????????????str.append("\n");
//??????????????????}
//?????????????
?????????}
?????????
?????????
?????????str.append("tree.setURL('#');");
?????????str.append("\n");
?????????str.append("tree.wordLine=false;");
?????????str.append("\n");
?????????str.append("tree.setTarget('main');");
?????????str.append("\n");
?????????
?????????
????????request.setAttribute("BUMENTREE",?str);?
????????request.setAttribute("LISTBUMEN",?list);
????????return?mapping.findForward("bumen");
????}
}
其中是使用dao的注入方式,來得到部門
js下載地址:
http://www.cnbolgs.com/Files/huazi4995/MzTreeView12.js
轉載于:https://www.cnblogs.com/huazi4995/archive/2007/11/03/948454.html
總結
- 上一篇: atmega8 例程:T1定时器 CTC
- 下一篇: window自带字体