JSTL foreach

24/05/2008

0

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

Responder

Posts

17/06/2008

Fellix

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


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar