Red de conocimiento de recetas - Servicios de restauración - Menú de árbol

Menú de árbol

El menú de árbol dinámico Jsp debe utilizar un algoritmo recursivo. Por ejemplo, hay una tabla en la base de datos y una tabla principal. Los campos principales incluyen identificación, nombre, profundidad, nivel, la identificación se incrementa y la profundidad se establece en serie. Si estos datos son los más grandes, son 0, si es un menú de palabras, es 1. Leve especifica el ID de su nodo principal, de modo que usted mismo pueda explorar el vector público getModuleTree() del código del segmento.

{

Vector pclass = new Vector();

Prueba

{

stmt = con. crear declaración();

cadena SQL = "seleccionar * del módulo con parentid = 0";

RS = stmt ejecutar consulta (SQL);

módulo cvo = null

while(rs.next())

{

cvo = nuevo módulo();

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 . set profundidad(RS . getint(" profundidad ")); pclass . add(cvo);

}

for(int I = 0;i<pclass . size (); i++)

{

Módulo pcvo =(Módulo)pclass . get(I);

mostrar menú de árbol(pcvo);

}

con . commit();} catch (SQLException e)

{

e . printstacktrace();

}Finalmente

{

intenta

{

if (rs!=null)

{

RS close(); /p>

}

if (stmt!=null)

{

stmt close();

}

if (con!=null)

{

con . close();

}

}

catch (SQLException e)

{

e . printstacktrace();

p>

}

}

Devolver lista de clases

}

ShowTreeMenu público vacío (módulo c)

{

Módulo ccvo = null

cadena SQL = " seleccionar * del módulo donde parentid = "+c obtener módulo _ id();

Vector cclass = nuevo vector();<. /p>

Pruebe

{

Módulo cvotemp

stmt = con . create Statement();

RS = stmt ejecutar consulta(SQL);

while(rs.next())

{

cvo temp = new Module();

< temperatura p>cvo

. setmodule _ id(RS . getint(" Módulo _ id "));

cvo temp . >cvo temp . setmodule _ URL(RS . getstring(" Módulo _ URL "));

cvo temp . setparentid(RS . getint(" cvo temp . (" rootid ")); cvo temp . establecer profundidad (RS . getint(" profundidad ")); cclass add(cvo temp); println(cclass . tamaño()+"(((((((((((((((((9))));

if(cclass . tamaño()>0)

{

c . sethaschild(" tener ");

lista de clases . 0; j & ltcclass . j++)

{

ccvo =(Módulo)cclass get(j);

mostrar menú de árbol ( ccvo);

} } De lo contrario

{

lista de clases . >} captura (SQLException e)

{

e .printstacktrace();

}

}

.