
{
Vector pclass = new Vector()
try
{
stmt =con.createStatement()
String sql = "select * from Module where parentid = 0"
rs = stmt.executeQuery(sql)
Module cvo = null
while(rs.next())
{
cvo = new Module()
cvo.setModule_id(rs.getInt("Module_id"))
cvo.setModule_name(rs.getString("Module_name"))
cvo.setModule_url(rs.getString("Module_url"))
cvo.setParentid(rs.getInt("parentid"))cvo.setRootid(rs.getInt("rootid"))cvo.setDepth(rs.getInt("depth"))pclass.add(cvo)
}
for (int i = 0i <pclass.size()i++)
{
Module pcvo = (Module) pclass.get(i)
ShowTreeMenu(pcvo)
}
con.commit() } catch (SQLException e)
{
e.printStackTrace()
} finally
{
try
{
if(rs!=null)
{
rs.close()
}
if(stmt!=null)
{
stmt.close()
}
if(con!=null)
{
con.close()
}
}
catch (SQLException e)
{
e.printStackTrace()
}
}
return classList
}
public void ShowTreeMenu(Module c)
{
Module ccvo = null
String sql = "select * from Module where parentid = " + c.getModule_id()
Vector cclass = new Vector()
try
{
Module cvotemp
stmt =con.createStatement()
rs = stmt.executeQuery(sql)
while(rs.next())
{
cvotemp = new Module()
cvotemp.setModule_id(rs.getInt("Module_id"))
cvotemp.setModule_name(rs.getString("Module_name"))
cvotemp.setModule_url(rs.getString("Module_url"))
cvotemp.setParentid(rs.getInt("parentid"))cvotemp.setRootid(rs.getInt("rootid"))cvotemp.setDepth(rs.getInt("depth"))cclass.add(cvotemp)
}
System.out.println(cclass.size()+"(((((((((((((((((((((((((9")
if (cclass.size() >0)
{
c.setHasChild("have")
classList.add(c)
for (int j = 0j <cclass.size()j++)
{
ccvo = (Module) cclass.get(j)
ShowTreeMenu(ccvo)
}} else
{
classList.add(c)
}
} catch (SQLException e)
{
e.printStackTrace()
}
}
用json格式,异步请求,当你点击一级菜单的时候,js触发,通过ajax异步把相关参数传到后台,查询出来的数据,然后封装成json格式数据返回,js拿到数据后,通过js把数据设置到页面相应的地方!在图形界面中添加文本框架实现文本编辑,通过鼠标菜单栏添加事件监听实现保存。在开发中我们经常会遇到左边是树形菜单,右边是一个显示列表,单击左边的树形菜单项时,右边会显示该菜单里面相对应的内容。在实战开发中经常有需要处理树形菜单、树形目录等等等业务需求。
而对于这种产品,在设计数据库时也建议使用idparentId的结构来做。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)