JSP页面全部代码:
<!-- CoreMail Version 2.5 Copyright (c) 2002-2003  www.tebie.com -->
<%@ page contentType="text/html; charset=GBK" language="java" import="java.sql.*"  %>
<%@ page import="Ldy.User"%>
<%@ page import=>
<%
String UserName="";
User CurrentUser = null;
try{
           CurrentUser = (User)session.getAttribute("CurrentUser");
  if (CurrentUser == null) out.println("null");
  if(CurrentUser!=null){
   UserName=CurrentUser.getName();
          }
          else
        response.sendRedirect("../pleaselogin.htm");
   }
  catch(Exception e){
  System.out.println("error");
response.sendRedirect("../error.htm");
  }
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta http-equiv="refresh" content="1200">
<title>文件夹</title>
<base target="main">
<script language="JavaScript">
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
</script>
<script language="javascript">
<!--var linkHeader = "/coremail/fcg/ldapapp?funcid=mails&sid=VASJmZBFCtEAIFVZ&fid=";-->
var linkHeader="bbs/bbs.htm?& "
var linkTarget = "mainFrame";
var linkFdrRoot = "/coremail/fcg/ldapapp?funcid=foldmain&sid=VASJmZBFCtEAIFVZ";var fdrname_root = "<img src=image/close.gif border=0>系统管理";var fdritems = new Array();
//      leafgif
var imgsrc_line = "image/line.gif";
var imgsrc_midblk = "image/midblk.gif";
var imgsrc_lastblk = "image/lastblk.gif";var imgsrc_lastplus = "image/lastplus.gif";       //处于折叠状态, 同一级别的最后一项
var imgsrc_lastminus = "image/lastmin.gif";       //处于展开状态, 同一级别的最后一项var imgsrc_midplus = "image/midplus.gif";         //处于折叠状态, 不是同一级别的最后一项
var imgsrc_midminus = "image/midminus.gif";       //处于展开状态, 不是同一级别的最后一项var imgsrc_folder_close = "http://mimg.163.com/netease/img/close.gif";var img_open = "image/open.gif";
var img_close = "image/close.gif";
var spanstr = "";
</script><script type="text/javascript" src="css/163tree.js"></script>
<script language="javascript">
// this block define the fdrItems
var fdritems1 = new Array();<% 
int k = 0;
if (CurrentUser.getModuleS().indexOf("1") >= 0){
%>
   fdritems1[0]=new fdrItem(0, '0', '-1', 0, '系统管理', '', '7', true, true, false);
   <%
   k++;
   %>   fdritems1[1]=new fdrItem(1, '1', '0', 1, '身份管理', '', '0', false, false, false);
   <%
   k++;
   %>   fdritems1[2]=new fdrItem(2, '2', '0', 1, '模块管理', '', '0', false, false, false);
   <%
   k++;
   %><%   if (!CurrentUser.ManageContextStation){%>
      fdritems1[3]=new fdrItem(3, '3', '0', 1, '权限管理', '', '0', false, false, false);
   <%
   k++;
   %>
<%
   }
}
%><%
String[][] Str = null;Str = CurrentUser.getAreaTree();for (int i = 0; i < Str.length; i++){%>
   var parent;
   <%int m = (Integer.valueOf(Str[i][1])).intValue();%>
   var p = <%=(m+k)%>;
   <%if (i == 0)%> parent = '-1';
   <%if (i != 0)%> parent = 'p';
   var haschild;
   <% if (Str[i][2].equals("0"))%> haschild = false;
   <%if (!Str[i][2].equals("0")) %> haschild = true;
   var k2 = <%=(Integer.valueOf(Str[i][0])).intValue()%>;
   var k3 = <%="Str[i][4]"%>;
   var k4 = <%="Str[i][3]"%>;
   fdritems1[<%=k%>] = new fdrItem(<%=k%>, '4', parent, 
                              k2,k3,k4, '0',
                              haschild, false, false);
   <%
}
%>fdritems1[<%=k%>]=new fdrItem(<%=k%>, '5', '-1', 0, '日志管理', '', '0', false, false, false);
   <%
   k++;
   %>fdritems1[<%=k%>]=new fdrItem(<%=k%>, '6', '-1', 0, '用户设置', '', '0', false, false, true);
   <%
   k++;
   %></script>
<script language="javascript">
<!--
//ruqin
function getdomain(){
 var uidatdomain="[email protected]";
 var tophtm="";
 splits = uidatdomain.split("@");
  return splits[1];
}
//arche
function getcosnm() {
return "normal";
}
//-->
</script>
</head><body marginheight=0 marginwidth=0 topmargin=0 leftmargin=4 bgcolor="#3399FF" scrolling=yes>
<table width="100%" cellspacing="0" cellpadding="0" align="center" border="0">
<tr>    <td align=center> <p><img src="image/circler.gif"><img src="image/circlel.gif"><!--<img src="images/rotateskull.gif" width="100" height="100">--><br>
        <br>
        <font color=012A83>欢迎你,<%=UserName%></font> <br>
        <script language="JavaScript" ><!--
todayDate = new Date();
date = todayDate.getDate();
month= todayDate.getMonth() +1;
year= todayDate.getYear();
document.write("<br>")
if(navigator.appName == "Netscape")
{
document.write(1900+year);
document.write("年");
document.write(month);
document.write("月");
document.write(date);
document.write("日");
document.write("<br>")
}
if(navigator.appVersion.indexOf("MSIE") != -1)
{
document.write(year);
document.write("年");
document.write(month);
document.write("月");
document.write(date);
document.write("日");
}
if (todayDate.getDay() == 5) document.write("星期五")
if (todayDate.getDay() == 6) document.write("星期六")
if (todayDate.getDay() == 0) document.write("星期日")
if (todayDate.getDay() == 1) document.write("星期一")
if (todayDate.getDay() == 2) document.write("星期二")
if (todayDate.getDay() == 3) document.write("星期三")
if (todayDate.getDay() == 4) document.write("星期四")
</script>
    </td></tr>
<tr><td height=1><spacer type=block height=1></td></tr>
<tr>
<td valign=top bgcolor=0F3759>
<table width=100% cellspacing=1 cellpadding=1 border=0>
<tr><td class=p5 background=image/vipbg.gif bgcolor=CCFF99>

<img src="image/midblk.gif" align=absmiddle><img src="image/close.gif" align=absmiddle><a href="logout.jsp" target="_parent" class=p5><font color=0000FF></font><font color=red>注销登陆</font><font color=868000></font><font color=00C000></font><font color=red></font></a><br>

<script>InitFdrInfo();ShowFdrItems();</script> </script>
            <img src="image/midblk.gif" align=absmiddle><img src="image/close.gif" align=absmiddle><a href="http://help.163.com/mail/" target="_blank" class=p5>帮  助</a><br> <script>
document.write("<img  src=image/lastblk.gif align=absmiddle><img  src=image/close.gif align=absmiddle><a href='logout.jsp' target='_parent'><font color=red>注销登陆</font></a><br>");
</script>
      
</td></tr>
      </table>   
   </td>
   </tr>
   <tr><td height=4><spacer type=block height=4></td></tr>
   <tr>
    <td align=right> </td></tr>
</table> 
</body>
</html>

解决方案 »

  1.   

    163tree.js的全部代码:function showhide(isend,outline,sign)
    {
            if (outline.style.display=='none')
            {
                    outline.style.display='';
                    if (isend)
                            sign.src = imgsrc_lastminus;
                    else
                            sign.src = imgsrc_midminus;
            }
            else
            {
                    outline.style.display='none';
                    if (isend)
                            sign.src = imgsrc_lastplus;
                    else
                            sign.src = imgsrc_midplus;
            }
    }//      属性:id, parentid, level, name, info, link, type
    function fdrItem(index, id, parentid, level, name, info, type, haschild, is_begin_in_this_level, is_end_in_this_level)
    {
            // attr
            this.index = index;
            this.id = id;
            this.parentid = parentid;
            this.level = level;
            this.name = name;
            this.info = info;
            this.link = linkHeader + this.id;
    if(id==1)           //身份管理
    this.link="station/stationlist.jsp";
    if(id==2)           //模块权限管理
    this.link="module/modulelist.jsp";
    if(id==3)           //用户权限管理
    this.link="manage/managelist.jsp";
                    if(id==4)           //某个地区的默认页面
                    this.link="default.jsp?AreaID=" + this.info;
    if(id==5)           //日志管理
    this.link="log/loglist.jsp";
    if(id==6)           //用户设置
    this.link="currentuser/currentuser.jsp";
            this.type = type;
            this.haschild = haschild;
            this.isbegin = is_begin_in_this_level;
            this.isend = is_end_in_this_level;
            this.dealed = false;
            this.opened = false;        // methord
            // show span
            this.showspan = fdrItem_showSpan;
            this.showchildspan = fdrItem_showChildSpan;
    }
    //methord
    function fdrItem_showSpan()
    {
            if (this.dealed) return; // show parent first
    var i=0;
    for (i=0; i<(fdritems.length); i++)
    {
    if (fdritems[i].id == this.parentid && !fdritems[i].dealed )
    {
    fdritems[i].showspan();
    break;
    }
    }        this.dealed = true;
            var i=0;
            if (this.haschild)
            {
                    spanstr += "<span id='menu" + this.id + "' style='cursor:hand; text-decoration:underline; font-weight:bold'>";
                    for (i=0; i<(this.level); i++)
                            spanstr += "<img src='" + imgsrc_line + "'>";
                    spanstr += "<img id='menu" + this.id + "sign' src='";
                    if (this.isend)
                            spanstr += imgsrc_lastplus;
                    else
                            spanstr += imgsrc_midplus;
                    spanstr += "' onClick='showhide(this.isend, menu" + this.id + "outline, menu" + this.id + "sign)' ><a href='" + this.link + "' target='" + linkTarget + "'>"  + this.name + "</a></span><br>";                spanstr += "<span id='menu" + this.id + "outline' ";
                    spanstr += 'style="display:';
                    if (this.level > 1)
                            spanstr += "'none'";
                    spanstr += '">';
                    this.showchildspan();
                    spanstr += "</span>";
            }
            else
            {
                    for (i=0; i<(this.level); i++)
                            spanstr += '<img src="' + imgsrc_line + '">';
                    if (this.isend)
                            spanstr += '<img src="' + imgsrc_lastblk + '">';
                    else
                            spanstr += '<img src="' + imgsrc_midblk + '">';
                    spanstr += '<a href="' + this.link + '" target="' + linkTarget + '">' + this.name + '</a><br>';
            }
    }
    function resetItemStatus()
    {
    var i = 0;
    for (i=0; i<(fdritems1.length); i++) {
    fdritems1[i].dealed = false;
    }
    for (i=0; i<(fdritems.length); i++) {
    fdritems[i].dealed = false;
    }
    }
    function sortFdrItemInfo()
    {
    // sort fdritems1 by its id
    var i=0, j=0, max=-1, maxi=-1;
    resetItemStatus();
    var tmpfdritems = new Array();
    var size = fdritems1.length;
    for (j=0; j<size; j++) {
    max = -1; maxi = -1;
    for (i=0; i<size; i++) {
    if (fdritems1[i].dealed) continue; var theid = parseInt(fdritems1[i].id);
    if ( theid > max ) {
    max = theid;
    maxi = i;
    }
    }
    tmpfdritems[j] = fdritems1[maxi];
    fdritems1[maxi].dealed = true;
    }
    // convert it
    for (i=0; i<size; i++) {
    fdritems[i] = tmpfdritems[size-i-1];
    }
    }
    function InitFdrInfo()
    {
    sortFdrItemInfo();        var i=0;
            for (i=0; i<(fdritems.length); i++)
            {
                    if (fdritems[i].id == 0)
                    {
                            fdritems[i].name=fdrname_root;
                            fdritems[i].info=fdrname_root;
                       //     fdritems[i].link=linkFdrRoot;
        fdritems[i].link="bbs/bbs.htm";
                            break;                }
        fdritems[i].link="bbs/bbs.htm";
            }
    }
    function fdrItem_showChildSpan()
    {
            var i=0;
            for (i=0; i<(fdritems.length); i++)
            {
                    if (fdritems[i].parentid == this.id)
                            fdritems[i].showspan();
            }
    }
    function InitSetupInfo()
    {
            fdritems = setupitems;
    }//      this block show upstair fdrItems.
    function ShowFdrItems()
    {
    resetItemStatus();
            var i=0;
            for (i=0; i<fdritems.length; i++)
            {
                    if (!fdritems[i].dealed)
                            fdritems[i].showspan();
            }
            document.write(spanstr);
    }
    function switchstatus(ownerID, childID){
    // change owner's image and child's display attr
    var ownerObj = document.getElementById(ownerID);    // must be image
    var childObj = document.getElementById(childID);
    if (childObj.style.display=='none') {
        childObj.style.display = '';
        ownerObj.src = "image/midminus.gif";
    }
    else {
        childObj.style.display = 'none';
        ownerObj.src = "image/midplus.gif";
    }
    }
      

  2.   

    http://community.csdn.net/Expert/topic/3069/3069307.xml?temp=.6348383
      

  3.   

    是脚本错误,还是jsp编译错误?
    把错误具体的位置的相关代码贴上来看看。
      

  4.   

    var k3 = <%="Str[i][4]"%>;
    var k4 = <%="Str[i][3]"%>;
    改成
    var k3 = <%= Str[i][4] %>;
    var k4 = <%= Str[i][3] %>;
      

  5.   

    同意:happyegg(想转型的程序员)的看法。
      

  6.   

    首先感谢两位。加引号的问题我已经改了。但是依然提示错误。两处,都是运行期错误:
    1:   行:71  错误:无效字符   我如果点“是”的话(同意休整错误)则microsoft script debugger 自动弹出来,指向163tree.js文件中的一行代码:就是function resetItemStatus()中的for(i=0;i<(fdritems1.length);i++)这一行,而该编辑器特意将i<(fdritems1.length)标出。我很莫名其妙。因为这个js是我朋友给的,他用它做了很多树了,而且我自己用她也做了好几个静态树了,都没出过问题。(该JS文件,在我前面的回复中有)2:   行: 108   错误:  'fdritems1'未定义  我也不明白怎么回事。以上我还有个问题呢,着个行号也不知道是对应哪里的,是对应运行期的CLASS呢还是我的原代码。microsoft script debugger 中显示的我的运行期的JSP页面代码如下:<!-- CoreMail Version 2.5 Copyright (c) 2002-2003  www.tebie.com --><html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <meta http-equiv="refresh" content="1200">
    <title>文件夹</title>
    <base target="main">
    <script language="JavaScript">
    function MM_openBrWindow(theURL,winName,features) { //v2.0
      window.open(theURL,winName,features);
    }
    </script>
    <script language="javascript">
    <!--var linkHeader = "/coremail/fcg/ldapapp?funcid=mails&sid=VASJmZBFCtEAIFVZ&fid=";-->
    var linkHeader="bbs/bbs.htm?& "
    var linkTarget = "mainFrame";
    var linkFdrRoot = "/coremail/fcg/ldapapp?funcid=foldmain&sid=VASJmZBFCtEAIFVZ";var fdrname_root = "<img src=image/close.gif border=0>系统管理";var fdritems = new Array();
    //      leafgif
    var imgsrc_line = "image/line.gif";
    var imgsrc_midblk = "image/midblk.gif";
    var imgsrc_lastblk = "image/lastblk.gif";var imgsrc_lastplus = "image/lastplus.gif";       //处于折叠状态, 同一级别的最后一项
    var imgsrc_lastminus = "image/lastmin.gif";       //处于展开状态, 同一级别的最后一项var imgsrc_midplus = "image/midplus.gif";         //处于折叠状态, 不是同一级别的最后一项
    var imgsrc_midminus = "image/midminus.gif";       //处于展开状态, 不是同一级别的最后一项var imgsrc_folder_close = "http://mimg.163.com/netease/img/close.gif";var img_open = "image/open.gif";
    var img_close = "image/close.gif";
    var spanstr = "";
    </script><script type="text/javascript" src="css/163tree.js"></script>
    <script language="javascript">
    // this block define the fdrItems
    var fdritems1 = new Array();
       fdritems1[0]=new fdrItem(0, '0', '-1', 0, '系统管理', '', '7', true, true, false);
          fdritems1[1]=new fdrItem(1, '1', '0', 1, '身份管理', '', '0', false, false, false);
          fdritems1[2]=new fdrItem(2, '2', '0', 1, '模块管理', '', '0', false, false, false);
       
       var parent;
       
       var p = 2;
        parent = '-1';
          var haschild;
           haschild = true;
       var k2 = 1;
       var k3 = 河北;
       var k4 = 102;
       fdritems1[3] = new fdrItem(3, '4', parent, 
                                  k2,k3,k4, '0',
                                  haschild, false, false);
       
       var parent;
       
       var p = 3;
           parent = 'p';
       var haschild;
        haschild = false;
          var k2 = 2;
       var k3 = 石家庄;
       var k4 = 10201;
       fdritems1[3] = new fdrItem(3, '4', parent, 
                                  k2,k3,k4, '0',
                                  haschild, false, false);
       
       var parent;
       
       var p = 4;
           parent = 'p';
       var haschild;
        haschild = false;
          var k2 = 2;
       var k3 = 保定;
       var k4 = 10202;
       fdritems1[3] = new fdrItem(3, '4', parent, 
                                  k2,k3,k4, '0',
                                  haschild, false, false);
       fdritems1[3]=new fdrItem(3, '5', '-1', 0, '日志管理', '', '0', false, false, false);
       fdritems1[4]=new fdrItem(4, '6', '-1', 0, '用户设置', '', '0', false, false, true);
       </script>
    <script language="javascript">
    <!--
    //ruqin
    function getdomain(){
     var uidatdomain="[email protected]";
     var tophtm="";
     splits = uidatdomain.split("@");
      return splits[1];
    }
    //arche
    function getcosnm() {
    return "normal";
    }
    //-->
    </script>
    </head><body marginheight=0 marginwidth=0 topmargin=0 leftmargin=4 bgcolor="#3399FF" scrolling=yes>
    <table width="100%" cellspacing="0" cellpadding="0" align="center" border="0">
    <tr>    <td align=center> <p><img src="image/circler.gif"><img src="image/circlel.gif"><!--<img src="images/rotateskull.gif" width="100" height="100">--><br>
            <br>
            <font color=012A83>欢迎你,Ldy</font> <br>
            <script language="JavaScript" ><!--
    todayDate = new Date();
    date = todayDate.getDate();
    month= todayDate.getMonth() +1;
    year= todayDate.getYear();
    document.write("<br>")
    if(navigator.appName == "Netscape")
    {
    document.write(1900+year);
    document.write("年");
    document.write(month);
    document.write("月");
    document.write(date);
    document.write("日");
    document.write("<br>")
    }
    if(navigator.appVersion.indexOf("MSIE") != -1)
    {
    document.write(year);
    document.write("年");
    document.write(month);
    document.write("月");
    document.write(date);
    document.write("日");
    }
    if (todayDate.getDay() == 5) document.write("星期五")
    if (todayDate.getDay() == 6) document.write("星期六")
    if (todayDate.getDay() == 0) document.write("星期日")
    if (todayDate.getDay() == 1) document.write("星期一")
    if (todayDate.getDay() == 2) document.write("星期二")
    if (todayDate.getDay() == 3) document.write("星期三")
    if (todayDate.getDay() == 4) document.write("星期四")
    </script>
        </td></tr>
    <tr><td height=1><spacer type=block height=1></td></tr>
    <tr>
    <td valign=top bgcolor=0F3759>
    <table width=100% cellspacing=1 cellpadding=1 border=0>
    <tr><td class=p5 background=image/vipbg.gif bgcolor=CCFF99>

    <img src="image/midblk.gif" align=absmiddle><img src="image/close.gif" align=absmiddle><a href="logout.jsp" target="_parent" class=p5><font color=0000FF></font><font color=red>注销登陆</font><font color=868000></font><font color=00C000></font><font color=red></font></a><br>

    <script>InitFdrInfo();ShowFdrItems();
    关于这个我也有点问题,因为我发现我定义的参数,编译器并没有帮我转化成字符传到JS里去啊,他好象就直接把参数当字符传进去了,是这样吗?如果是这样那我该怎么办呢?
      

  7.   

    你应该注意,JAVA里的变量要用在JS代码片中里不要被放到双引号中,那么编译就会把参数的值放到JS代码片里了。
      

  8.   

    <script language="javascript">
    // this block define the fdrItems
    var fdritems1 = new Array();
    fdritems1[0]=new fdrItem(0, '0', '-1', 0, '&#207;&#181;&#205;&#179;&#185;&#220;&#192;í', '', '7', true, true, false);
    ....
    </script>
    改成
    <script language="javascript">
    // this block define the fdrItems
    var fdritems1 = new Array();
    fdritems1[0]=new fdrItem(0, '0', '-1', 0, '&#207;&#181;&#205;&#179;&#185;&#220;&#192;í', '', '7', true, true, false);
    ....
    </script>
    <script type="text/javascript" src="css/163tree.js"></script>
    因为你把顺序放倒了,使用fdritems1的时候(在163tree.js)还没定义