Problema com ActionForm

6 respostas
D

Ola pessoal, to com um probleminha…

eu tenho um FormBean…(ActionForm…) e gostaria de fazer o seguinte…

por exemplo…na hora de cadstrar um paciente…eu tenho que atribuir varios convenios a ele…então na hora do cadstro do paciente… o usuario seleciona…um convenio.e clica em atribuir…

quando ele clica em atribuir , ele cai em uma action…que executa um metodo chamado addConvenio do meu ActionForm…

((PacienteForm)form).addConvenio());

que pega os valores dos atributos atuais e atualiza um ConvenioVO dentro de uma “Collection”

O problema e qeu quando eu volto da submissão…ele cria uam nova istancia no meu Form…e eu perco os dados que estavam nele…inclusive a Ccollection…

dai pesquisando a respeito…achei isso…

You may also specify a concrete implementation of the Map Interface, such as java.util.HashMap, or a List implementation, such as java.util.ArrayList.

If you do not supply an initial attribute, numbers will be initialized to 0 and objects to null.

dai mudei o atributo Collection para uma List…mas mesmo assim nao ta funcionando…

um amigo meu me disse que de repente e porque eu estou utilizando “Dispacth Actions…” e pode ser que so funcione com actions normais??? pode ser isso??

o u o qu eeu to fazendo errado ??

Obrigado.

6 Respostas

danieldestro

No seu struts-config.xml tente user scope=“session” ao invés de request.

Abraços!

D

cara…marcando essa opção como “session”…ele simplemesmente nao consegue achar o objeto…

ele popula minha collection no form normalmente…so que a tag do struts nao acha ela…e dai nao mostra dos dados na tela…

tentei adicionar uma propriedade “scope” na minha tag “bean:define”…mas nada cara…sabe o qeu pode ser??

obrigado.

valeu!!! :wink:

danieldestro

Difícil te falar assim… se der, põe um trecho do código.

D

<td>Lista Cargos</td> <td> <html:select property="codCargo"> <html:option value=""></html:option> <logic:notEmpty name="cargoForm" property="cargos" > <bean:define id="cargos" name="cargoForm" property="cargos" /> <html:options collection="cargos" property ="codCargo" labelProperty="descCargo" /> </logic:notEmpty> </html:select> </td> </tr>

lembrando que no form o objeto collection esta populado…mas aqui na JSP ele nao esta pegando…
Obrigado.

danieldestro

Tenta assim:

<td>Lista Cargos</td> <td> <html:select property="codCargo"> <html:option value=""></html:option> <html:options name="cargoForm" property ="cargos" label="descCargo" value="codCargo" /> </html:select> </td>

Suponho que o seu form (cargoForm) possua os atributos codCargo e cargos (array ou collection).

D

cara assim nao funcionou…deu ate erro na hora de compilar a jsp…

cara…mas me diga uam coisa…
para isso qeu eu estou tentando fazer…

apenas definindo o scopo como session…e criandoo atributo como List ou Map ,(+ gets e sets) ele ja deveria persistir na sessão automaticamente né???

nao sei o o que ta acontecendo…

eu preico na tag que eu estiver utilizando…na jsp…definir o scopo aonde ele deve buscar??? nao né…nao precisa disso…certo?

então realmente nao sei mais o que tentar…heheh

Valeu Daniel…

:wink:

Criado 30 de abril de 2004
Ultima resposta 8 de mai. de 2004
Respostas 6
Participantes 2