Olá pessoal, vou explicar o que estou querendo fazer e se alguem puder me dar uma ajuda ficaria grata.
No meu form eu tenho o seguinte:
private String nome;
private List lista = new ArrayList();
Na action, faço algumas manipulações na lista e depois jogo ela no Request
E no jsp…
[code]<td>Nome</td>
<td><html:text property="nome"/></td>
<logic:iterate name="minhaLista" id="item" indexId="i">
<tr>
<td><bean:write name="item" property="codigo"/></td>
<td><bean:write name="item" property="descricao"/></td>
</tr>
</logic:iterate>[/code]
O nome é mostrado e pode ser alterado ( html:text ). Já a lista esta sendo apenas exibida.
Quando dou um submit, pode retornar a essa mesma pag, caso ocorra validações que nao foram respeitadas, por exemplo, o campo nome nao pode ser vazio. Nesse caso, o campo nome retorna da forma como havia sido enviado, pois defini que esse campo refere-se ao campo nome do form. Porem estou com dificuldade para recuperar a lista, pois estou apenas mostrando e nao defini como alguma propriedade do form. Como quero apenas mostrar essa lista, pensei em fazer algo parecido com:
<html:hidden property=“lista”/>
Mas quando tentei fazer isso e definir a minha lista como valor dessa propriedade deu erro.
Alguem sabe me informar, como posso fazer? Se tem como recuperar essa lista exibida… definir essa lista como propriedade do meu form??
Grata, Pri
Olá. Seja bem vinda ao Portal Java!!!
Não entendi muito bem a sua dúvida. Você manda uma lista pro JSP, depois você realiza um submit e manda para uma action. Caso tenha validação o fluxo permanece a mesma página mas a lista não é exibida !?
Não seria o caso de jogar o Form na sessão?
Você está utilizando struts1. Portanto ao realizar o submit, você pode fazer novamente:
Sua lista vai ficar na requisição. E no struts1.x não é criada uma nova requisição a cada submit.
Abraço.
Obrigada Guilherme. É isso mesmo, eu mando uma lista pro JSP, e nessa minha pagina tenho alguns botões sendo que em alguns deve retornar para mesma pagina. O primeiro acesso a essa página é o resultado da consulta no banco e como passei a lista por request ela é exibida normalmente. Depois, eu posso solicitar alguma alteração com os outros botões existentes, só que ai no action eu já não consigo mais acessar a lista. Eu consigo acessar os outros campos do form que são do tipo String, mas a lista não.
lcm4693, não cheguei a testar pois tb já pensei em utilizar sessão, não para jogar o form mas so a lista, porem nao queria utilizar sessao. Caso não consiga vou ter q tentar a sessão mesmo. De qualquer forma, obrigada.
Fabio, compreendi o que falou mas não consegui realizar. Fiz vários testes com o código que postou, mas não consegui jogar a lista no request novamente. Já que não estava dando certo mesmo cheguei a colocar o código de get e set do request no jsp, action, form mas nada… Devo estar “pulando” em algum momento , então se puder dar mais uma ajudinha…
Obrigada a todo,
Abraço.
<html:hidden property=“lista” value=“minhaLista”/>
Se você definir uma propriedade em seu form e gerar um get/set, o comando acima vai funcionar na página jsp.