Trazer ActionForm preenchido

14 respostas
elvishr

Olá Pessoal, estou com um problema no Struts.

Tenho uma Action (DispatchAction), com metodos consultar, salvar, excluir.

Tenho uma combo de estados (DF,MG,SP,MG…) e tenho um método javascript nela para submeter o nome do estado para carregar uma combo de cidades referente ao estado selecionado.

onchange=“javascript:submeter('orgaoEstabelecimento.do?act=consultarOrgao”

Eu chamo o mesmo método de consultar, aí pego a UF do Form e consulto a cidade, o problema é que quero que o ActionForm já venha preenchida com os dados atuais, e ela perde todos os dados.

Tem alguma forma de manter os dados? Como faço pra preencher o form e trazer o jsp já com as informações nos campos ??

Quem souber, dá um help ae… valeu! :roll:

14 Respostas

diogopontual

Eu acho que é só manter o form na session ao invés do request.

Kleber_Santos

Sim, salve os dados anteriores em um outro Bean…

entendeu?

:mrgreen: :mrgreen: :mrgreen:

elvishr

Coloquei scope=“session” e não funfou.

elvishr

Kleber, se eu salvar os dados em um outro Bean, como faço pra manda-los pro jsp??

Tentei com setParameter mas não deu. A não ser q eu coloque no value do campo o bean.getValor(). Sacou?? Mas acho q não é uma boa prática. Nem sei se funciona tambem.

Mas existe alguma outra forma de preencher o Form na action e o jsp já trazer os campos preenchidos??

Kleber_Santos

exemplo:

<input name=“nomeEmpresa” type=“text” maxlength=“40” size=“40” class=“table” value="<bean:write name=“nomedoBean” property=“nomedapropriedade”/>">

caso vc ja tenha o Bean… faça asssim

Kleber_Santos

entendeu elvishr ?

elvishr

Sim. Estou testando pra ver se funciona.

Kleber_Santos

beleza amigão…

:stuck_out_tongue:

Kleber_Santos

e ai tudo certo?

elvishr

Cara, olha só.

Tá dando erro no bean. Ele não tá aceitando o
value="<bean:write name=“nomedoBean” property=“nomedapropriedade”/>" ele tá entendendo como se isso fosse a descrição do value.

Vou tentar outra forma de fazer

andgonca

Vc pode usar um DynaActionForm. Quando vc fizer isso no seu Servlet:

public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {

        try {
           String nomeEmpresa="empresa";


            DynaActionForm dform = (DynaActionForm) form;
            dform.set("nomeEmpresa", nomeEmpresa);
...

o form já virá preenchido com os dados.

Mauricio_Linhares

elvishr:
Cara, olha só.

Tá dando erro no bean. Ele não tá aceitando o
value="<bean:write name=“nomedoBean” property=“nomedapropriedade”/>" ele tá entendendo como se isso fosse a descrição do value.

Vou tentar outra forma de fazer

Faça assim:

value="${nomeDoBean.nomeDaPropriedade}"
elvishr

agora funcionou!!

To usando o “nomeDoBean.getPropriedade()” no value.

Obrigado a todos pela ajuda!

Kleber_Santos

ops

belezas…

:mrgreen: :mrgreen: :mrgreen:

Criado 22 de junho de 2005
Ultima resposta 24 de jun. de 2005
Respostas 14
Participantes 5