Airton,
Verifique o seguinte:
1. se o property est� definido corretamente no 'iterate'
<logic:iterate id="dados" name="dadosMap" property="arrayList">
Lembre-se que vc deve ter um m�todo getArrayList no seu bean e observe
tbm que o property � preenchido com o nome correspondente a este m�todo(sem
o get e primeira letra em min�sculo);
2. se vc est� colocando no seu action o bean na se��o (
session.setAttribute...)
Al�m disso, vc pode usar as Logic Tags do Struts para fazer alguma
verifica��o necess�ria em seu bean (present, greaterThan...) no JSP.
Espero ter ajudado.
[]s
Guilherme Riback
----- Original Message -----
From: "Airton" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, March 26, 2003 5:22 PM
Subject: Re: [enterprise-list] Struts: problemas com iterate no jsp
Meu action cria um ArrayList proveniente do RecordSet e popula o bean
(DadosMapBean), mapeado no struts-config.xml como "dadosMap". No jsp,
ele aparece no tag - <logic:iterate name="dadosMap"...
Parece que todos os conceitos que vc relatou est�o atendidos... ou falta
algo?
H� tamb�m uma corre��o desde a primeira mensagem minha: aquela mensagem
de erro n�o aparece mais depois que mudei o escopo do bean para
"session". Entretanto, a p�gina jsp aparece, mas sem os dados. "Apelei"
no servlet (action), criando um PrintWriter e escrevendo o c�digo da
p�gina com os dados e eles apareceram, ou seja, at� o RecordSet tudo
funciona.
N�o consegui definir se o bean n�o foi populado ou se a p�gina n�o
apresenta os dados do bean. Como ter certeza que o bean foi populado?
Obrigado.
----- Original Message -----
From: Alex <mailto:[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
Sent: Wednesday, March 26, 2003 2:31 PM
Subject: RES: [enterprise-list] Struts: problemas com iterate no jsp
O iterate � utilizado para objetos do tipo List,Collection, etc. voc�
teria que ter no seu form um objeto do tipo List (por exemplo) e no seu
action popular esse objeto. O property que eu me referi seria justamente
o objeto do tipo List (produtosItens, adicionando nele uma classe com
todos os campos da tabela, para ficar mais parecido com um pattern).
Atenciosamente,
Alex Pitacci Sim�es
Sun Certified Programmer for Java 2 Platform
Sun Certified Web Component Developer for J2EE Platform
-----Mensagem original-----
De: Airton [mailto:[EMAIL PROTECTED]
Enviada em: quarta-feira, 26 de mar�o de 2003 09:25
Para: [EMAIL PROTECTED]
Assunto: Re: [enterprise-list] Struts: problemas com iterate no jsp
[repostas no texto] + algumas considera��es conceituais:
Usei um FormBean que, n�o s� armazena as informa��es do meu formul�rio,
como tamb�m tem properties que armazenar�o dados provenientes do SGBD,
populado de dentro da classe Action. Entendi na literatura que posso ter
um s� FormBean para n formul�rios, bem como um para cada...
Seria o caso de ter feito um FormBean para o formul�rio (que vai tratar
entradas, erros, devolver valores ao formul�rio etc) e um bean (comum -
n�o extendendo ActionForm) para armazenar os dados da consulta ao banco,
que depois seriam apresentados no jsp?
----- Original Message -----
From: <mailto:[EMAIL PROTECTED]> Alex
To: <mailto:[EMAIL PROTECTED]>
[EMAIL PROTECTED]
Sent: Tuesday, March 25, 2003 5:43 PM
Subject: RES: [enterprise-list] Struts: problemas com iterate no jsp
Algumas perguntas antes de reponder?
O nome do seu form no struts-config � dadosMap?
Sim:
<form-bean
name="dadosMap" type="MapBeans.DadosMapBean" />
Porque voc� n�o colocou o property que voc� quer no Iterate? E no
notEmpty?
No exemplo que estava acompanhando, o property n�o aparecia no iterate.
Me pareceu razo�vel, j� que informo o property dentro do iterate, no tag
<bean:write ... />.
Colocando o property no iterate, teria que escrever um para cada
property? Algo assim?:
<logic:iterate name="dadosMap" id="dado" property="descr">
<tr>
<td><bean:write name="dado" property="descr"/></td>
</tr>
</logic:iterate>
<logic:iterate name="dadosMap" id="dado" property="conta">
<tr>
<td><bean:write name="dado" property="conta"/></td>
</tr>
</logic:iterate>
<logic:iterate name="dadosMap" id="dado" property="item">
<tr>
<td><bean:write name="dado" property="item"/></td>
</tr>
</logic:iterate>
Voc� est� usando struts-nested? N�o.
Atenciosamente,
Alex Pitacci Sim�es
Sun Certified Programmer for Java 2 Platform
Sun Certified Web Component Developer for J2EE Platform
-----Mensagem original-----
De: Airton [mailto:[EMAIL PROTECTED]
Enviada em: ter�a-feira, 25 de mar�o de 2003 16:01
Para: [EMAIL PROTECTED]
Assunto: [enterprise-list] Struts: problemas com iterate no jsp
Consegui o seguinte erro:
javax.servlet.ServletException: Cannot find bean dadosMap in any scope
at
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContex
tImpl.java:471)
at org.apache.jsp.Dados$jsp._jspService(Dados$jsp.java:411)
.
.
. etc
quando tentava fazer um iterate num jsp, proveniente do bean "dadosMap"
(mapeado no struts-config.xml). A p�gina � Dados.jsp, o que me fez
pensar que o problema est� na forma como fiz o iterate e n�o na
configura��o (struts-config.xml) ou no Action que 'popula' o bean. Segue
trecho do arquivo Dados.jsp:
<logic:notEmpty name="dadosMap">
<logic:iterate name="dadosMap" id="dado">
<tr>
<td><bean:write name="dado" property="descr"/></td>
<td><bean:write name="dado" property="conta"/></td>
<td><bean:write name="dado" property="item"/></td>
</tr>
</logic:iterate>
</logic:notEmpty>
Algu�m pode me ajudar ?
Obrigado.
---------------------------------------------------------------------
Para cancelar a subscri��o, envie mensagem para: [EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]