JSTL foreach

Java

24/05/2008

Estou comecendo a desenvolver um sistema utilizando STRUTS e nao tenho experiencia com JSTL e estou tendo o seguinte problema?

Tenho a minha action com o seguinte codigo.

ClienteManager clienteManager = new ClienteManager();
Cliente clienteFind = (Cliente) ClienteManager.getClienteRegister(email);
if ((email.trim().equals(clienteFind.getEmailCli().trim())) &&
(senha.trim().equals(clienteFind.getSenhaCli().trim()))) {
request.setAttribute(´clientes´, clienteFind);
return (mapping.findForward(´cliente-edt´));
} else {
return (mapping.findForward(´cliente-erro´));
}

a minha pagina JSP

<c:forEach var=´cliente´ items=´$´>
.
.
.
</c:forEach>

Qdo executo a pagina ocorre o seguinte erro

24/05/2008 09:49:09 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet action threw exception
javax.servlet.jsp.JspTagException: Don´t know how to iterate over supplied ´items´ in &lt;forEach&gt;
at org.apache.taglibs.standard.tag.common.core.ForEachSupport.toForEachIterator(ForEachSupport.java:255)
at org.apache.taglibs.standard.tag.common.core.ForEachSupport.supportedTypeForEachIterator(ForEachSupport.java:219)


Se alguem dar uma ajuda agradeco.


Moia

Moia

Curtidas 0

Respostas

Fellix

Fellix

24/05/2008

vamor por partes

quando vc usa JSTL lembre-se de seguir os padrões EJB da Sun, quando vc usa o <c:forEach items=´´> ele vai buscar na servlet do JSP o comando getCliente(); e consequentemente não vai encontrar o ideal é vc usar algum objeto que retorno os clientes por exemplo um Dao

<jsp:useBean name="dao" class="seuspacotes.Dao" />
<c:forEach items="{dao.clientes}">

</c:forEach>


assim eu garanto que funciona.

[]´s


GOSTEI 0
POSTAR