Boa tarde, gostaria de ajuda para criar um menu dinamico eu tenho o seguinte código:
public List<Menu> menuDinamico() throws Exception{
PreparedStatement ps;
Connection conn;
ResultSet rs;
String modulo = "1";
try{
String sql = "SELECT mn.i_menu, mn.nome, mn.i_pai, mn.ordem, mn.url, mn.janela, " +
"mn.i_modulo, (SELECT COUNT(*) FROM menu m WHERE m.i_pai = mn.i_menu) AS totalsub " +
"FROM menu mn WHERE mn.i_pai = 0 and mn.i_modulo = ? ORDER BY mn.ordem";
conn = this.conn;
ps = conn.prepareStatement(sql);
ps.setInt(1, Integer.parseInt(modulo));
rs = ps.executeQuery();
List<Menu> mnDinamico = new ArrayList<Menu>();
while(rs.next()){
Menu menu = new Menu();
menu.setiMenu(rs.getInt("i_menu"));
menu.setNome(rs.getString("nome"));
menu.setiPai(rs.getInt("i_pai"));
menu.setOrdem(rs.getInt("ordem"));
menu.setUrl(rs.getString("url"));
menu.setJanela(rs.getString("janela"));
menu.setiModulo(rs.getInt("i_modulo"));
mnDinamico.add(menu);
}
return mnDinamico;
}catch(SQLException sqle){
throw new Exception(sqle);
}
}
public List<Menu> criaMenuDinamico(Integer idMenu) throws Exception{
PreparedStatement ps;
Connection conn;
ResultSet rs;
try{
String sql = "SELECT mn.i_menu, mn.nome, mn.i_pai, mn.ordem, mn.url, mn.janela, " +
"mn.i_modulo, (SELECT COUNT(*) FROM menu m WHERE m.i_pai = mn.i_menu) AS totalsub " +
"FROM menu mn WHERE mn.i_pai = ? ORDER BY mn.ordem";
conn = this.conn;
ps = conn.prepareStatement(sql);
ps.setInt(1, idMenu);
rs = ps.executeQuery();
List<Menu> subMnDinamico = new ArrayList<Menu>();
while(rs.next()){
Integer iMenu = rs.getInt("i_menu");
String nome = rs.getString("nome");
Integer iPai = rs.getInt("i_pai");
Integer ordem = rs.getInt("ordem");
String url = rs.getString("url");
String janela = rs.getString("janela");
Integer iModulo = rs.getInt("i_modulo");
subMnDinamico.add(new Menu(iMenu, nome, iPai, ordem, url, janela, iModulo));
if(rs.getInt(7) > 0){
Menu subMenu = new Menu();
subMenu = criaMenuDinamico(rs.getInt(1));
menu.setMenu(subMenu);
}
}
return subMnDinamico;
}catch(SQLException sqle){
throw new Exception(sqle);
}
}
separado essas funções me retornam o valor correto, agora gostaria de saber uma forma de unir assim por exemplo:
<ul>
<li>Cadastro</li>
<ul>
<li>Pessoa</li>
<li>Funcionario</li>
</ul>
</ul>
grato.