Struts set de list da página para o form

4 respostas
K

Olá!!

Estou com um probleminha e não consigo achar a solução. O problema é o seguinte:

Eu tenho uma página jsp que quando é carregada pela primeira vez, exibe uma lista de coisas que o cliente pode selecionar para realizar uma operação. Esta lista é carregada da base de dados e, nesta mesma tela, aparece a confirmação das coisas que o cliente selecionou e, portanto, quando o cliente aperta no botão “continuar” que exite logo abaixo desta lista, os dados passam por uma validação e a página é novamente exibida com os dados para a confirmação.

Só que quando a página é novamente exibida, alguns dados desta lista some. Esta lista deve também aparecer tanto na primeira vez que o cliente acessa a página quanto na segunda vez que ela é exibida com os dados da confirmação.

eu estou usando um código semelhante a este:

<logic:iterate id="bean" name="form" property="lista" indexId="ctr">
<td>
<input type="checkbox" name="<%="chk_" + ctr %>" id="<%="chk_" + ctr %>" value="" />
<label><c:out value="${bean.date}"/></label>
<html:hidden property="<%="lista[" + ctr + "].date" %>"/>
</td>
<td>
<a href="#" title="<c:out value='${bean.description}'></c:out>"><c:out value='${bean.description}'></c:out></a>
<html:hidden property="<%="lista[" + ctr + "].description" %>"/>
</td>
<td>
<c:out value="${bean.valor}"></c:out>
<html:hidden property="<%="lista[" + ctr + "].valor" %>"/>
</td>
</logic:iterate>

Notem que os objetos dentro da lista não são strings, mas são objetos de uma classe que tem atributos como date, description e valor (todos são strings).

tenho também um getLista(int index) no form para que estes valores sejam mostrados nos campos hidden e passem para o form sem problemas.

Então, alguns atributos dos objetos da lista, quando o usuário clica no botão que há logo abaixo deste iterate, ficam nulos.

queria saber como fazer para que todos estes valores sejam preenchidos corretamente.

Obrigada, desde já, pelos retornos!

4 Respostas

V

Como está o scopo do seu form no struts-config.xml, talves vc tenha que colocar ele como session ou invés de request para os dados continuarem.

K

Hum… ele está como request… vou testar com o session

K

Aeeeeeeeee obrigadinha!!!

É isso mesmo!! coloquei o escopo em session e funcionou!!

Obrigada mesmo!

V

=)

Criado 7 de outubro de 2008
Ultima resposta 7 de out. de 2008
Respostas 4
Participantes 2