Dúvida no Struts

4 respostas
aaraujo

Pessoal,

Estou com uma dúvida, talvez seja uma coisa boba, mas não estou conseguindo, seguinte:
estou desenv um sistema com jsp/struts (mvc), e qdo eu abro uma página, ele chama um método “exibir”, no Action, q gera um List de produtos, q eu coloco no Helper, e depois mostro ele na tela, através da tag <logic:iterate>.
Depois qdo o usuário clica em salvar, por exemplo, q eu chamo outro método e eu quero recupar este List de produtos, mas qdo eu chamo ele vem nulo.
Realmente eu não consigo recuperar este List, ou estou fazendo algo errado?

Desde já agradeço,

São

4 Respostas

fsantos

Cara naum seria o caso de você setar esse List na sessão, tipo:

request.getSession().setAttribute("suaLista",suaLista);

e na outra actoin voce retira da sessao após recuperá-la.

espero ter ajudado.

aaraujo

Felipe,

seria uma solução realmente…

mas aproveitando, como eu poderia fazer para listar os produtos em um checkbox, e listar somente os que foram selecionados?

valew

fsantos
supondo que o seu formulario esteja dentro de uma tabela, seria algo do tipo: :idea:
<html:form action="suaAction">
...
  <td>Produto</td>
  <td>
    <logic:iterate name="produtos" id="produto">
      <html:checkbox property="codigoDoProduto" name="produto" /> <bean:write property="nomeDoProduto" name="Produto" /> <br>
    </logic:iterate>
  </td>
...
</html:form>
porém o mais interessante seria: :idea:
<html:form action="suaAction">
...
  <td>Produto</td>
  <td>
    <logic:iterate name="produtos" id="produto">
      <html:multibox property="propriedadeDoProduto" name="produto">
        <bean:write property="codigoDoProduto" name="Produto" />
      </html:multibox>
      <bean:write property="codigoDoProduto" name="Produto" /> <br>
    </logic:iterate>
  </td>
...
</html:form>

a diferença entre eles é o controle sobre a "property".
acho que isso deve ajudar.
[]'s

aaraujo

mas de qlqr forma, como eu faço pra recuperar esse list depois no action??? :?:

Criado 26 de abril de 2004
Ultima resposta 27 de abr. de 2004
Respostas 4
Participantes 2