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]

Responder a