Duvida taglib forEach DaoGenerico

7 respostas
RobsonFagundes
Bom Dia Guj´s estou com seguinte problema, estou fazendo um forEach pra listar usuarios, em uma JSP esta lista eh preenchida pelo DaoGenerico q criei, eu passo o bean e qual campo kero o Order by assim:
listarSemWhere(Object bean, int order)
ou seja
Login login = new Login();
listarSemWhere(login, 0);
que me retorna um List, estou tentando usar ele pra fazer uma listar os usuarios em uma pg JSP estou tentando fazer o seguinte;
<jsp:useBean id="usuarios" class="usuarios.Login"/> 
<jsp:useBean id="daoG" class="dao.generico.DAOGenerico"/>
<!-- For-->
<c:forEach var="users" items="${daoG.listarSemWhere(usuarios, 0)}">
nome: ${users.nomeUser}
</c:forEach>
e nao deu certo, so que eu preciso passar para meu Dao o bean e a order by, consegui fazer com java dentro da JSP, so que eu nao queria misturar tags JSP com codigo Java !!! Alguem tem alguma sugestao???

7 Respostas

O

nein…
Brother eu li 3 vezes mas ainda não captei sua mensagem.

RobsonFagundes

ozix:
nein…
Brother eu li 3 vezes mas ainda não captei sua mensagem.

puts sera q vc leu mesmo hehehhehehehhe

ta… como eu disse preciso de um ForEach para percorer uma List
que eh preenchida pelo daoGenerico. so q eu tenho q passar parametrros pra o dao Preencheer a lista

O

Ué, isso vc já tem. A sitaxe de seu foreach não está errada. Acho que seu problema tá no DAO e não no jsp. A pergunta é: o DAO tá retornando a lista? Exatamente qual erro tá dando?

ps: Corrigindo, tava imaginando que esse era só um trecho de sua página, mas se não, tá faltando a taglib:
<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c” %>

RobsonFagundes

ta errada sim
aki <c:forEach var="users" items="${daoG.listarSemWhere(usuarios, 0)}">
teria q ser assim

<c:forEach var="users" items="${daoG}">

intaum meu dao so vai funga se eu passar pra ele o bean q kero listar
assim

Login login = new Login(); listarSemWhere(login, 0); isso ira me retornar um ArrayList com os dados do bean,
a minha duvida eh essa como q faço pra chamar ele usando <jsp:useBean > ???

O

seu jsp pode acessar uma classe de controle

<c:forEach var="users" items="${ctrl.usuarios}">

que por sua vez chama o dao:

public List<Usuario> getUsuarios() { Login login = new Login(); listarSemWhere(login, 0); }

jgbt

Acho que vc esta confundindo um pouco as coisas.
Vc não consegue executar um metodo a partir do jsp usando a tag <useBean> e nem com JSTL.
A tag useBean é usada “nomalmente” quando vc tem um form e um Bean que reflete esse form, com os campos no html tendo o mesmo nome das propriedades Bean. O que essa tag faz é instanciar o Bean e popular as propriedades.
No caso da JSTL tmb, vc não pode invocar um metodo de uma classe, ainda mais passando parametros. JSTL so vai conseguir acessar objetos que estejam visiveis a pagina que ela vai executar, por exemplo Request e Session.
No seu caso, vc poderia ter um servlet que controlasse isso, pegasse os dados da pagina, executasse a consulta usando o DAO e colcasse o resultado no Request/Session por exemplo. Depois na pagina é so iterar pelo objeto e imprimir o resultado.

[]´s

RobsonFagundes

Valeu jgbt eh realmente confundi muito as coisas…
axei q seria possivel invocar os metodos direto sem passar por um servlet
obrigado pela dica, acabei descobrindo algumas coisas e vou tentar implementar
o FrontContoller pra resolver isso …
Flw t+

Criado 24 de julho de 2008
Ultima resposta 24 de jul. de 2008
Respostas 7
Participantes 3