你是在 <%!  %> 中声明的吗?

解决方案 »

  1.   

    是的我在 <%!  %>中声明,我是想做一个树型菜单,数据要从数据库中提取,同志们是否有这面方的代码,能否提供最好是JSP做的,非常感谢,我已困在树型结构中两个星期了,希望有人来救我。
    [email protected]<%@ page language="java" import="java.sql.*"%>
    <%@ page contentType="text/html;charset=gb2312" %> 
    <% 
    String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver"; 
    String sConnStr = "jdbc:odbc:access_source";Connection conn = null; 
    ResultSet rs = null; 
    Statement stmt = null; Class.forName(sDBDriver); 
    conn = DriverManager.getConnection(sConnStr,"admin","command"); 
    stmt = conn.createStatement(); 
    rs = stmt.executeQuery("select * from powers where belongid is null order by selfid"); 
    //层次数表态变量赋初值 
    int format_i=1; 
    while(rs.next())
    {
    //打印父层数据信息 
    out.print("<a href=''test1.jsp?SelfID="+rs.getString("selfid")+"&BelongID="+rs.getString("belongid")+"''>"+rs.getString("powername")+"</a>");
    out.print("<br>");
    ListSubPower(rs.getString("selfid")); 
    }
    rs.close();
    stmt.close();
    conn.close();
    public  String  ListSubPower(String id)
    {
    //打开隶属于上层 powerid 的所有子层数据信息 
    stmt = conn.createStatement(); 
    rs = stmt.executeQuery("select * from powers where belongid="+id+" order by selfid"); 
    //列子层数据 
    while(rs.next())
    {
    //层次数表态变量递进累加 
    format_i=format_i+1; 
    //循环缩进格式控制,因为顶层与二层不需要缩进,所以从第三层开始引用此程序段 for(int i=format_i;i>3;i--)
    {
    out.print(" |"); 
    out.print(" ");

    //打印子层数据信息 out.print(" |----"); 
    out.print("<a href=''test1.jsp?SelfID="+rs.getString("selfid")+"&BelongID="+rs_sub("belongid")+"''>"+rs_sub("powername")+"</a>"); 
    out.print("<br>"); //递归调用子程序本身,对子层数据进行逐渐处理 
    ListSubPower(rs.GetString("selfID")); 
    }//层次数表态变量递退累减  
    format_i=format_i-1  ;
    //关闭子层数据集 
    rs.close();
    stmt.close();
    conn.close();

    %>  
      

  2.   

    public  String  ListSubPower(String id)
    你既然这样定义,就是说返回值是String,可是你并没有用这个返回值呀!
    如果不用返回,那么该成void.
      

  3.   

    你并不是在<%!  %>(注意感叹号)中声明的!
    因为jsp最终被编译为servlet,而jsp中只有在<%!  %>中声明的方法才有效!
    至于树形菜单,网上的很多例子(即使是javascript的)你都可以用来改造!