梅花雪前辈的动态菜单树很好用,我以前在ASP里面用过。但是我现在转做JSP了,不清楚应该怎么用,各位高手们能指点一下吗?再好贴出代码~谢谢~~
解决方案 »
- 关于swfupload上传中文文件名乱码的问题
- java 打印表单
- strust2 怎么样将空值自动转换成int的0。java.lang.NoSuchMethodException
- 麻烦大家来看看这个留言板是怎么实现的?
- 谁能告诉我输出的第一条结果应该是库里面的第几条??
- JSP页面中无法引用CSS文件
- 帮兄弟看TOCAT 错误!!!!(详细说一下谢谢!!)
- 报错String index out of range是什么意思?在线等
- 刚接触java,请教同仁和高手!多谢!
- 连sqlserver 出错。我下载的 SQLServer 2000 Driver for JDBC sp1. 执行任何sql语句出错。
- 请问哪儿可以下到JSTL安装包?
- struts1.2.9的actionform问题!
说的对啊,控件跟ASP JSP 没有关系
只要数据格式一样就能用了。
Tree.Append("<script type='text/javascript' language='javascript' src='Common/js/MzTreeView10.js'></script>");
Tree.Append("<script type='text/javascript' language='javascript'>");
Tree.Append(" var tree = new MzTreeView('tree'); ");
Tree.Append(" tree.icons['property'] = 'property.gif'; ");
Tree.Append(" tree.icons['css'] = 'collection.gif'; ");
Tree.Append(" tree.icons['book'] = 'book.gif'; ");
Tree.Append(" tree.iconsExpand['book'] = 'bookopen.gif'; "); Tree.Append( " tree.setIconPath('Images/tree/'); "); Tree.Append( " tree.nodes['0_1'] = 'text:Think Rich; url:back.htm;';"); //root
Tree.Append(" tree.nodes['1_100'] = 'text:User Manage; data:id=100'; ");
Tree.Append(" tree.nodes['100_101'] = 'text:Add New User; url:User/AddUser.aspx;data:id=101'; ");
Tree.Append(" tree.nodes['100_102'] = 'text:User List; url:User/UpdateUser.aspx; data:id=102'; ");
Tree.Append(" tree.nodes['1_200'] = 'text:Store Manage; url:back.htm; data:id=200'; ");
Tree.Append(" tree.nodes['200_201'] = 'text:Category Manage; url:User/TypeRen.aspx; data:id=201'; ");
Tree.Append(" tree.nodes['200_202'] = 'text:Brand Manage; url:User/Brand.aspx; data:id=202'; ");
Tree.Append(" tree.nodes['200_203'] = 'text:Add New Product; url:Store/ware.aspx; data:id=203'; ");
Tree.Append(" tree.nodes['200_204'] = 'text:Product Manage; url:Store/QueryWare.aspx; data:id=204'; ");
Tree.Append(" tree.nodes['200_205'] = 'text:Add New Store; url:Store/store.aspx; data:id=205'; ");
Tree.Append(" tree.nodes['200_206'] = 'text:Store List; url:Store/QueryStore.aspx; data:id=206'; ");
Tree.Append(" tree.nodes['200_207'] = 'text:Store Stat; url:Store/QuerySell.aspx; data:id=207'; ");
Tree.Append(" tree.nodes['1_300'] = 'text:Shop Manage; data:id=300'; ");
Tree.Append(" tree.nodes['300_301'] = 'text:Get Auction; url:Shop/Auction.aspx; data:id=301'; ");
Tree.Append(" tree.nodes['300_302'] = 'text:Order List; url:Shop/QueryOrder.aspx; data:id=302'; ");
Tree.Append(" tree.nodes['300_303'] = 'text:Invoice Manage; url:Post/LoadOrder.aspx; data:id=303'; ");
Tree.Append(" tree.nodes['300_304'] = 'text:Invoice List; url:Post/EditPost.aspx; data:id=304'; ");
Tree.Append(" tree.nodes['300_305'] = 'text:Add New Customer; url:Customer/AddCustomer.aspx; data:id=305'; ");
Tree.Append(" tree.nodes['300_306'] = 'text:Customer List; url:Customer/QueryCustomer.aspx; data:id=306'; ");
Tree.Append(" tree.setURL('back.htm'); ");
Tree.Append(" tree.setTarget('main'); ");
Tree.Append( " document.write(tree.toString()); ");
//Tree += " treeviewarea.innerHTML = tree.toString(); ";
Tree.Append( "</script>");
//treeviewarea.InnerHtml = Tree;
Response.Write(Tree.ToString());
因为数据库里面有一张表专门记录text,id,parentid等资料,页面把这些资料读出即可~
<!--
window.tree = new MzTreeView("tree"); tree.icons["property"] = "property.gif";
tree.icons["css"] = "collection.gif";
tree.icons["book"] = "book.gif";
tree.iconsExpand["book"] = "bookopen.gif"; //展开时对应的图片
tree.setIconPath("MzTreeView10/"); //可用相对路径
<%
Dim node
Dim reg : set reg = new RegExp : reg.global=True : reg.pattern=";"
Dim id, parentId, text, hint, icon, data, url, target, method
do while not tree_rs.eof
'若是树的条目比较多的时候(比如大于1000)而又相对稳定的时候将这些数据生成静态网页来访问
node = VBCrLf &" tree.nodes["""& tree_rs("parentId") &"_"& tree_rs("id") &"""] = """
node = node &"text:"& reg.replace(tree_rs("text"), chr(15)) &";"
if tree_rs("hint")<>"" then node = node &"hint:"& reg.replace(tree_rs("hint"), chr(15)) &";"
if tree_rs("icon")<>"" then node = node &"icon:"& tree_rs("icon") &";"
if tree_rs("data")<>"" then node = node &"data:"& reg.replace(tree_rs("data"), chr(15)) &";"
if tree_rs("url")<>"" then node = node &"url:"& reg.replace(tree_rs("url"), chr(15)) &";"
if tree_rs("target")<>"" then node = node &"target:"& tree_rs("target") &";"
if tree_rs("method")<>"" then node = node &"method:"& reg.replace(tree_rs("method"), chr(15)) &";"
response.write node &"""" '生成节点信息
tree_rs.movenext
loop
%>
tree.setURL("");
tree.setTarget("");
document.write(tree.toString()); //亦可用 obj.innerHTML = tree.toString();
//-->
</SCRIPT>
--------------伟大的分隔线------------------其中
node = VBCrLf &" tree.nodes["""& tree_rs("parentId") &"_"& tree_rs("id") &"""] = """
node = node &"text:"& reg.replace(tree_rs("text"), chr(15)) &";"
if tree_rs("hint")<>"" then node = node &"hint:"& reg.replace(tree_rs("hint"), chr(15)) &";"
if tree_rs("icon")<>"" then node = node &"icon:"& tree_rs("icon") &";"
if tree_rs("data")<>"" then node = node &"data:"& reg.replace(tree_rs("data"), chr(15)) &";"
if tree_rs("url")<>"" then node = node &"url:"& reg.replace(tree_rs("url"), chr(15)) &";"
if tree_rs("target")<>"" then node = node &"target:"& tree_rs("target") &";"
if tree_rs("method")<>"" then node = node &"method:"& reg.replace(tree_rs("method"), chr(15)) &";"
response.write node &"""" '生成节点信息
tree_rs.movenext
loop是ASP的代码,如果转JSP,应该怎样做?
你能想象下面这个网页就是一个布局精美的树型菜单么?
<html>
<head>
<title>菜单</title>
<link href="css/menu.css" type="text/css" rel="stylesheet">
<script language="javascript">
function test(){
var newLi=document.createElement("LI");
document.all.xxx.appendChild(newLi);
}
</script>
</head>
<body>
<ul id="menu">
<li>树叉</li>
<ul>
<li><a href="#">叶子</a></li>
<li><a href="#">叶子</a></li>
<li><a href="#">叶子</a></li>
<li><a href="javascript:test();">叶子</a></li>
</ul>
<li>树叉</li>
<ul>
<li><a href="#">叶子</a></li>
<li>树叉</li>
<ul>
<li><a href="#">叶子</a></li>
<li><a href="#">叶子</a></li>
<li>书查</li>
<ul>
<li><a href="#">叶子</a></li>
<li><a href="#">叶子</a></li>
<li><a href="#">叶子</a></li>
<li><a href="#">叶子</a></li>
<li><a href="#">叶子</a></li>
</ul>
<li><a href="#">叶子</a></li>
<li><a href="#">叶子</a></li>
</ul>
<li>树叉</li>
<ul>
<li><a href="#">叶子</a></li>
<li><a href="#">叶子</a></li>
<li><a href="#">叶子</a></li>
<li><a href="#">叶子</a></li>
<li><a href="#">叶子</a></li>
</ul>
<li>树叉</li>
<ul id="xxx">
<li><a href="#">叶子</a></li>
<li><a href="#">叶子</a></li>
<li><a href="#">叶子</a></li>
<li><a href="#">叶子</a></li>
<li><a href="javascript:t();">叶子</a></li>
</ul>
</ul>
<li>树叉</li>
<ul>
<li><a href="#">叶子</a></li>
<li><a href="#">叶子</a></li>
<li><a href="#">叶子</a></li>
<li><a href="#">叶子</a></li>
</ul>
</ul>
</body>
</html>
<table width="100%" border="0" bordercolor="#CCCCCC">
<tr>
<td colspan="2">权限设置</td>
</tr>
<%
Datastore ds1=(Datastore)request.getAttribute("ds1");
for(int i=1;i<=ds1.rowCount();i++){
String xtflid=General.convertNullToHTMLEmpty(ds1.getItemString(i,"v_xtflid"));
String xtmc=General.convertNullToHTMLEmpty(ds1.getItemString(i,"v_xtmc"));
%>
<tr>
<td width="13%" align="center" valign="middle"></td>
<td width="87%"> <img style="cursor:pointer;" onClick="showadv(theForm,table<%=xtflid %>,image<%=xtflid %>)" name="image<%=xtflid %>" src="pt/images/menu_close.gif" width="16" height="16" border="0">
<span style="cursor:pointer;" onClick="showadv(theForm,table<%=xtflid %>,image<%=xtflid %>)"><%=xtmc %></span></td>
</tr>
<tr>
<td width="13%" align="center" valign="middle"></td>
<td width="87%">
<table width="100%" id="table<%=xtflid %>" name="table<%=xtflid %>" style="display:none">
<%
Datastore ds2=(Datastore)request.getAttribute("ds2"+xtflid);
for(int m=1;m<=ds2.rowCount();m++){
String xtflid1=General.convertNullToHTMLEmpty(ds2.getItemString(m,"v_mkid"));
String xtmc1=General.convertNullToHTMLEmpty(ds2.getItemString(m,"v_mkmc"));
%>
<tr border="1" bordercolor="#CCCCCC">
<td width="13%" align="center" valign="middle"></td>
<td width="87%"> <img style="cursor:pointer;" onClick="showadv(theForm,table<%=xtflid1 %>,image<%=xtflid1 %>)" name="image<%=xtflid1 %>" src="pt/images/menu_close.gif" width="16" height="16" border="0">
<span style="cursor:pointer;" onClick="onleavel('<%=xtflid1 %>')"><%=xtmc1 %></span></td> </tr>
<tr border="1" bordercolor="#CCCCCC">
<td width="13%" align="center" valign="middle"></td>
<td width="87%">
<table width="100%" id="table<%=xtflid1 %>" name="table<%=xtflid1 %>" style="display:none">
<%
Datastore ds3=(Datastore)request.getAttribute("ds3"+xtflid1);
for(int n=1;n<=ds3.rowCount();n++){
String xtflid2=General.convertNullToHTMLEmpty(ds3.getItemString(n,"v_mkid"));
String xtmc2=General.convertNullToHTMLEmpty(ds3.getItemString(n,"v_mkmc"));
%>
<tr border="1" bordercolor="#CCCCCC">
<td width="13%" align="center" valign="middle"></td>
<td width="87%"> <img style="cursor:pointer;" onClick="showadv(theForm,table<%=xtflid2 %>,image<%=xtflid2 %>)" name="image<%=xtflid2 %>" src="pt/images/menu_close.gif" width="16" height="16" border="0">
<span style="cursor:pointer;" onClick="onleavel('<%=xtflid2 %>')"><%=xtmc2 %></span></td>
</tr>
<tr border="1" bordercolor="#CCCCCC">
<td width="13%" align="center" valign="middle"></td>
<td width="87%">
<table width="100%" id="table<%=xtflid2 %>" name="table<%=xtflid2 %>" style="display:none">
<%
Datastore ds4=(Datastore)request.getAttribute("ds4"+xtflid2);
for(int k=1;k<=ds4.rowCount();k++){
String xtflid3=General.convertNullToHTMLEmpty(ds4.getItemString(n,"v_mkid"));
String xtmc3=General.convertNullToHTMLEmpty(ds4.getItemString(n,"v_mkmc"));
%>
<tr border="1" bordercolor="#CCCCCC">
<td width="13%" align="center" valign="middle"></td>
<td width="87%"> <img name="imageField" src="pt/images/menu_open.gif" width="16" height="16" border="0">
<span style="cursor:pointer;" onClick="onleavel('<%=xtflid3 %>')"><%=xtmc3 %></span></td>
</tr>
<tr border="1" bordercolor="#CCCCCC">
<td width="13%" align="center" valign="middle"></td>
<td width="87%">
</td>
</tr>
<%} %>
</table>
</td>
</tr>
<%} %>
</table>
</td>
</tr>
<%} %>
</table>
</td>
</tr>
<%} %>
</table>
垃圾不?