本人现想实现如下效果:
“当我点击网页中一个按钮或链接时,可以弹出一个多级的树型菜单,以便选择操作之用”,请各位能给思路(***最好为源码***)及多种不同的实现方法。在此先谢谢诸位!

解决方案 »

  1.   

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
    <%@ taglib prefix="tree" uri="/WEB-INF/treetag.tld"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML  4.01  Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html>
    <head>
    <style type="test/css"> A:link {color: #003366; text-decoration: none;}
    A:visited {color: #003366; text-decoration: none;}
    A:hover {color: #666666; text-decoration: underline;}
    </style>
    <link rel="StyleSheet" href="${pageContext.request.contextPath}/sourceadmin/dtree.css" type="text/css" />
    <script type="text/javascript" src="${pageContext.request.contextPath}/sourceadmin/dtree.js"></script>

     </head><body  bgcolor="#F7FAFF" onload="showMenu()" >
      <table width="100%" border="0" cellpadding="0" cellspacing="0" height="100%"">
                  <tr> 
                    <td height="25" colspan="3" valign="top" width="25%"><img src="${pageContext.request.contextPath}/images/bz.gif" width="100%" height="25"></td>
                  </tr>
                  </table>
    <div>
    <a href="${pageContext.request.contextPath}/listmenu.do" style="font-size:14px;color:#def234">flush</a>
    </div>
    <!--self target for output tree  -->
    <tree:showtree list="${menu}" projectname="${pageContext.request.contextPath}"/></body>
    </html>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    package com.elec.tool;import java.io.IOException;
    import java.util.List;import javax.servlet.jsp.JspException;
    import javax.servlet.jsp.JspWriter;
    import javax.servlet.jsp.tagext.TagSupport;import com.gainuo.elec.daomain.Menu2;public class TreeTarget extends TagSupport {
    private String projectname;
    private List list;


    public String getProjectname() {
    return projectname;
    } public void setProjectname(String projectname) {
    this.projectname = projectname;
    } public List getList() {
    return list;
    }

    public void setList(List list) {
    this.list = list;
    }


    Menu2 menu2=new Menu2();


    public int doEndTag() throws JspException {
    JspWriter out=pageContext.getOut();
    try {
    out.println("<div class=\"dtree\">");
    out.println("<p><a href=\"javascript: d.openAll();\">打开全部</a> | <a href=\"javascript: d.closeAll();\">关闭全部</a></p>");
    out.println("<script type=\"text/javascript\">");
    out.println("d = new dTree('d');");
    out.println("d.add(0,-1,'资源列表','"+projectname+"/showmenu.do?id=0','所有资源目录','mainFrame');");

    for(int i=0;i<list.size();i++){
    out.println("d.add('"+((Menu2)list.get(i)).getId()+"','"+((Menu2)list.get(i)).getParentid()+"','"+((Menu2)list.get(i)).getName()+"','"+projectname+"/showmenu.do?id="+((Menu2)list.get(i)).getId()+"','','mainFrame');");  


    }
    out.println("document.write(d);");
    out.println(" </script>");
    out.println(" </div>");
    } catch (Exception e) {
    e.printStackTrace();
    }
    return SKIP_BODY;
    }
    }