Problemas para resgatar meus objetos na sessão usando jstl

5 respostas
TFAGUNDES6

Galera estou com o seguinte problema.

Estou criando um projeto, onde as telas eu vou montar com jstl e estou com problemas na hora de montar a minha
lista de objetos recuperados do banco de dados.

No java eu faço o seguinte :

essa é a minha action

public ActionForward listar(ActionMapping mapping, ActionForm form,
				HttpServletRequest request, HttpServletResponse response) throws Exception{
		
		try{
			FabricaLivro fabricaLivro = new FabricaLivro();
			ModeloListaLivros modelo = fabricaLivro.getModeloLista();
			request.setAttribute("molelo", modelo);
			return mapping.findForward("listaLivros");
		}catch (Exception e) {
			request.setAttribute("modelo", e);
			return mapping.findForward("falha");
		}
	}

Eu jogo o meu modelo na request e para acessar o meu modelo no jstl eu chamo o uma
coleção que está dentro da minha classe ModeloListaLivros (linha 6 do código acima)

private Collection<ListaLivrosVo> livros = new ArrayList<ListaLivrosVo>();

Então para acessar a minha coleção de livros eu faria o seguinte no jsp:

##lista livro.jsp

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>  
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>  
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>

<c:set var="modelo" value="${requestScope.modelo}"  />

<html:html>
<body>
<table border="2">
<c:forEach var="livro" items="${modelo.livros}"  >
 <tr>  
     <td>  
		${livro.id}
	</td>
 </tr>

 <tr>
 	<td>			
		<c:out value="${livro.isbn}" />
	</td>
</tr>		
</c:forEach>
</table>

</body>
</html:html>

Em teste realizados até parece q o jstl não reconhece nada, sei lá !!

RESULTADO:

${livros.id}
${livros.isbn}

Ele imprime o valor colocado no código e não o valor dos objetos…

Se alguém poder me ajudar eu agradeço muito…

Obs: o meu modelo está montado certo, ele recupera os valores do BD mais não consigo montar
no jsp…

Valeu e abraços…

5 Respostas

g4j

Já vi isso cara… deve ser versão da jstl + versão da servlet api.

Dê uma olhada nesse tópico: http://www.guj.com.br/posts/list/40696.java

J

seu container web suporta el(expression language)?

TFAGUNDES6

Estou utilizando o tomcat, pelo q eu sei (não muito) ele já acompanham o JAVA EE …

Continuo com o problema…

valeu

TFAGUNDES6

Acho q já tentei de td, mais quando eu monto meu modelo e seto ele, não consigo de forma alguma recupera ele no jsp…

Se alguém poder me ajudar eu agradeço, muito…

Abraços…

TFAGUNDES6

Desculpa a demora para responder, mais já consegui resolver esse problema.
Além de alguns erros idiotas cometidos na digitação, ainda faltava acertar mais
alguns detalhes no projeto.

Obrigado a tds…

Abraços.

Criado 13 de setembro de 2008
Ultima resposta 6 de out. de 2008
Respostas 5
Participantes 3