Galera boa tarde…
estou com uma duvida!
estou usando o código a seguir para listar dados do banco em uma index.JSP.
<%
UfService service = UfService.getInstance();
List dados = service.findAll();
for(int i=0; i< dados.size(); i++){
Uf uf = new Uf();
uf = (Uf)dados.get(i);
%>
<li><%=uf.getNome()%>/<b><%=uf.getSigla()%></b></li>
<%
}
%>
gostaria de saber uma forma mais “limpa” de fazer esta listagem. Eu tentei o seguinte código porem não funciona.
<jsp:useBean id="lista" class="br.org.neo.exemplo.service.UfService">
<c:forEach var="teste" items="${lista}" >
${teste.sigla}
</c:forEach>
</jsp:useBean>
abraço
Bem vindo ao guj, dê uma lida nesse post para aprender a usar os recursos do fórum quando for postar!
Quanto à sua dúvida, quando você usa jstl, no “items” você deve indicar uma Collection, por isso não funciona. Você poderia fazer ${lista.all} por exemplo, mas apenas se alterar seu método findAll() para getAll(), pois por convenção ${obj.metodo} gera uma chamada do tipo obj.getMetodo().
Mas acho que colocar o código java num Servlet lá colocar a lista no request é uma opção melhor. assim você só precisa referenciar no jsp. Algo como: request.setAttribute("lista", service.findAll()); no servlet e então <c:forEach var="item" items="${lista}" > no jsp.
Blz? Flw! :thumbup:
Opa… valeu pela dica… vou olhar sobre a postagem. Bem que eu vi que estava estranho dimais.
de toda forma
muito obrigado