Criar menu dinãmico

0 respostas
F

Pessoal,
Estou tentando fazer um menu dinâmico com dados vindo de um banco mysql, a logíca já está toda pronta, até com a ajuda de alguns GUJ's aqui.

meu metodo abaixo imprimi um menu com submenus já em formato HTML, essa minha lista de menus é uma String.

Como mostrar essa string em uma página jsp de uma forma que o jsp já incorporace o html, ou seja, já me mostre no formato de html.

String retornada:

<ul>
<li><a href='Evento'>Home</a></li>
<li><a href='Evento'>Concessionário</a><ul>
<li><a href='Evento'>Fiat</a><ul>
<li><a href='Evento'>Uno</a></li>
<li><a href='-'>Bravoo</a></li>
</ul></li>
<li><a href='Evento'>Gm</a><ul>
<li><a href='Event'>Camaro</a></li>
<li><a href='-'>Celta</a></li>
</ul></li>
</ul></li>
<li><a href='evento'>Produtos</a><ul>
<li><a href='-'>Teste</a></li>
</ul></li>
<li><a href='Evento'>About</a><ul>
<li><a href='-'>Teste2</a></li>
</ul></li>
</ul>
public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub


			//faz conexao
			Connection conn = ConnetionFactory.getConnection();
		
			Menu menu = new Menu();
			MenuDao cdao = new MenuDao(conn);
			ArrayList<Menu> lista = new ArrayList<Menu>();
			lista = cdao.select();
			//cdao.organizarMenu(lista, 0);
			
		 System.out.println(toHtmlString(lista, 0));
           
      
    }   
    public ArrayList<Menu> select()throws Exception{   
        ArrayList<Menu> lista = new ArrayList<Menu>();   
        String sql = "select * from menu ";   
        Statement stmt = conn.createStatement();   
        ResultSet rs = stmt.executeQuery(sql);   
        Menu menu = null;   
        while(rs.next()){   
            menu = new Menu();   
            menu.setId((rs.getInt("ID")));   
            menu.setNome((rs.getString("Nome")));   
            menu.setAction(rs.getString("Action"));   
            menu.setPai(rs.getInt("Pai"));   
            lista.add(menu);   
        }   
        rs.close();   
        return lista;   
    } 


       
    private static StringBuilder toHtmlString(List<Menu> list, int pai){   
        StringBuilder result = new StringBuilder();                   
        boolean exist = false;   
        for (Menu m:list){   
            if(m.getPai() == pai){   
                if (!exist){   
                    result.append("<ul>"+"\n");   
                    exist = true;   
                }   
                result.append("<li><a href='").append(m.getAction()).append("'>").append(m.getNome()).append("</a>");   
                result.append(toHtmlString(list,m.getId()));   
                result.append("</li>"+"\n");     
            }     
        }     
        if (exist){   
            result.append("</ul>");   
        }   
        return result;   
    }   
			
}
Criado 29 de setembro de 2011
Respostas 0
Participantes 1