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…