你是在 <%! %> 中声明的吗?
解决方案 »
- 菜鸟求助高手,JSP问题
- 刚开始搭建SSH,使用hibernate reserve engineering时遇到了问题
- 一个最简单的Socket应用,可是结果却有问题,求教
- JAVA+ORACLE,我怎样调用Sequence?
- jsp编译通过,但页面显示不出来
- 关于参数传递时把参数放入inc文件的问题
- 急问:用JSP可以实现类似asp.net的view state 方式吗??怎样实现?
- MySQL中的DateTime型字段,怎么取出,取出后一般怎样转换成java的日期对象?一分钟一刷新,答案有效立即给分!
- 初学者中文乱码问题~~~~
- 用myecilpse做了个登陆页面
- 可不可以在jsp中导入一个servlet???
- 在jsp中,DataSet在哪个包和类中?
[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();
}
%>
你既然这样定义,就是说返回值是String,可是你并没有用这个返回值呀!
如果不用返回,那么该成void.
因为jsp最终被编译为servlet,而jsp中只有在<%! %>中声明的方法才有效!
至于树形菜单,网上的很多例子(即使是javascript的)你都可以用来改造!