当前位置: 技术问答>java相关
动态菜单的问题,急!
来源: 互联网 发布时间:2015-07-22
本文导语: 请教高手如何在页面中作出象Windows资源浏览器左面的文件夹一样的菜单来包括子文件夹及旁边的(+) (—)号和下面的虚线。最好其中的文件夹项目是从数据库中读取的。谢谢! | String ...
请教高手如何在页面中作出象Windows资源浏览器左面的文件夹一样的菜单来包括子文件夹及旁边的(+) (—)号和下面的虚线。最好其中的文件夹项目是从数据库中读取的。谢谢!
|
String sqlStr1="select second_column_code,second_column_name from code_second_column order by second_column_code";
int rowCount=DBQuery.getCountRow(sqlStr1);
DBQuery.release();
DBQuery=new DatabaseQuery();
JspWriter out=pageContext.getOut();
rs=getSecondColumn();
DBQuery_Second.release();
try{
//建立数据库连接
// DBConnectionProvider myConn=new DBConnectionProvider();
// String sqlStr="select third_column_name,maintenance_url,third_column_code from code_third_column where second_column_code=? and can_be_maintenance='1'";
// PreparedStatement ps=myConn.prepareStatement(sqlStr);
// try{
//关闭连接
// ps.close();
// myConn.release();
// }catch(Exception e){
// System.out.println("关闭DBConnectionProvider时错误:"+e);
// }
try{
String idSign="KB";
String parentIdName="Parent";
String childIdName="Child";
int i=1;
while(rs.next()){
sndColumnCode=rs.getString("second_column_code");
sndColumnName=rs.getString("second_column_name");
idSign=idSign+idSign.valueOf(i);
parentIdName=idSign+parentIdName;
out.println("");
out.println("");
if(i==rowCount){
out.println("");
out.println(""+sndColumnName+"");
}
else{
out.println("");
out.println(""+sndColumnName+"");
}
out.println("
");int rowCount=DBQuery.getCountRow(sqlStr1);
DBQuery.release();
DBQuery=new DatabaseQuery();
JspWriter out=pageContext.getOut();
rs=getSecondColumn();
DBQuery_Second.release();
try{
//建立数据库连接
// DBConnectionProvider myConn=new DBConnectionProvider();
// String sqlStr="select third_column_name,maintenance_url,third_column_code from code_third_column where second_column_code=? and can_be_maintenance='1'";
// PreparedStatement ps=myConn.prepareStatement(sqlStr);
// try{
//关闭连接
// ps.close();
// myConn.release();
// }catch(Exception e){
// System.out.println("关闭DBConnectionProvider时错误:"+e);
// }
try{
String idSign="KB";
String parentIdName="Parent";
String childIdName="Child";
int i=1;
while(rs.next()){
sndColumnCode=rs.getString("second_column_code");
sndColumnName=rs.getString("second_column_name");
idSign=idSign+idSign.valueOf(i);
parentIdName=idSign+parentIdName;
out.println("");
out.println("");
if(i==rowCount){
out.println("");
out.println(""+sndColumnName+"");
}
else{
out.println("");
out.println(""+sndColumnName+"");
}
out.println("
sqlSecond="select third_column_name,maintenance_url,third_column_code from code_third_column where second_column_code='"+sndColumnCode+"' and can_be_maintenance='1'";
DBQuery_Second=new DatabaseQuery();
rs_1=DBQuery_Second.getRS(sqlSecond);
// ps.setString(1,sndColumnCode);
// rs_1=ps.executeQuery();
sqlStr1="select * from code_third_column where second_column_code="+sndColumnCode+" and can_be_maintenance='1'";
DatabaseQuery DBQuery_1=new DatabaseQuery();
int rowCount_1=DBQuery_1.getCountRow(sqlStr1);
childIdName=idSign+childIdName;
out.print("");
int j=1;
while(rs_1.next()){
trdColumnName=rs_1.getString("third_column_name");
url=rs_1.getString("maintenance_url");
trdColumnCode=rs_1.getString("third_column_code");
sign=permission.lastIndexOf(trdColumnCode);
out.println("");
if(i==rowCount)
out.println("");
else
out.println("");
if(sign==(-1)){
if(j==rowCount_1){
out.println("");
out.println(""+trdColumnName+"");
}
else{
out.println("");
out.println(""+trdColumnName+"");
}
}else{
if(j==rowCount_1){
out.println("");
out.println(""+trdColumnName+"");
}
else{
out.println("");
out.println(""+trdColumnName+"");
}
}
out.println("");
j++;
}
out.println("
idSign="KB";
parentIdName="Parent";
childIdName="Child";
i++;
DBQuery_Second.release();
}
}catch(SQLException e){
out.println("出现SQL异常"+e.toString());
}
//释放连接
//ps=null;
DBQuery.release();
}catch(Exception e){
System.out.println("出现SQL异常"+e.toString());
}
|
这个要求我用asp作过,效果还不错
关键是只要你能找到一个树的代码(javascript就可以)
然后进行修改,把节点名字都存到数据库里面,并且要标记是根节点还是页节点
同时还要标记他的父节点是什么
然后利用jsp动态生成(读数据库)javascript代码
其实就是给javascript传几个参数了
关键是只要你能找到一个树的代码(javascript就可以)
然后进行修改,把节点名字都存到数据库里面,并且要标记是根节点还是页节点
同时还要标记他的父节点是什么
然后利用jsp动态生成(读数据库)javascript代码
其实就是给javascript传几个参数了