DisplayTags

5 respostas
V

Bom dia a todos,

Estou com um problema no uso do displayTags.

Dentro do meu jsp eu estou colocando o seguinte:

######################################################

<%

request.setAttribute(usuarioList, UsuariosDAO.consultaTodosUsuarios());

%>

<display:table name="${usuarioList}" />

######################################################

Sendo que o método consultaTodosUsuarios() é o seguinte:

######################################################

public static ArrayList consultaTodosUsuarios() throws ClassNotFoundException, SQLException {

try{

conn = PoolConexao.obtemConexao();
psUsuario = conn.prepareStatement("SELECT login_usuarios_tb FROM usuarios_tb");
        rsUsuario = psUsuario.executeQuery();
        
        usuarioList = new ArrayList();
        while(rsUsuario.next()) {
            usuarioList.add(rsUsuario.getString("login_usuarios_tb"));
        }
        
    } catch (ClassNotFoundException e) {
        System.out.println("Classe não encontrada: " + e.toString());
    } catch(SQLException e ){
        System.out.println( "Erro na consulta: " + e.toString() );
    } catch(Exception e ){
        System.out.println( "Excecao geral: " + e.toString() );
    } finally {
        psUsuario.close();
        conn.close();
        PoolConexao.devolveConexao();
    }
    return usuarioList;
}

######################################################

Só que o displayTags me retorna sempre “Nothing found to display”, sendo que no banco tem tres usuarios.

Alguem poderia me ajudar de verdade?

Muito Obrigado.

5 Respostas

ze_kiefa

Você testou o método consultaTodosUsuarios()? O resultado está trazendo mesmo o resultado?
Sugestão: isole essa parte do código em uma Servlet. Separe o modelo e as regras do negócio da sua visão!

V

O método está trazendo sim…
Testei…
Acabei de separar as regras do view e mesmo assim, continua o erro!

A parte q declaro <display:table name="${usuarioList}" /> esta correta?
É assim mesmo?

Muito Obrigado.

ze_kiefa

A sintaxe está correta.
Realmente era para ele montar a tabela e NÃO reclamar!

V

Cara…
Consegui fazer aparecer a tabela…
Mas soh consegui fazer isso com o codigo de acesso ao banco dentro do jsp.

Para q eu faca apartir de um servlet, como eu teria q fazer.

Por exemplo,

Queria que somente quando o usuarios clicar em pesquisar q ele preencha e mostre a tabela!

Como fazer?

Muito Obrigado.

Pedrosa

Faça o acesso ao banco em uma classe DAO, na sua Servlet chame a classe DAO, e passe a lista para o JSP via request ou sessao.

public void service(HttpServletRequest request, HttpServletResponse response)
			throws IOException, ServletException {
		
    RequestDispatcher rd;
    request.setAttribute("lista",new ClasseDAO().getSuaLista());
    rd = getServletContext().getRequestDispatcher("/Pagina.jsp");
    rd.forward(request, response);
}

Agora use o atributo passado no request para montar sua lista com a Displaytag.

Criado 12 de setembro de 2007
Ultima resposta 12 de set. de 2007
Respostas 5
Participantes 3