Carregar form no Struts

Como eu faço para carregar um form no Struts ??
Por exemplo, settar todos os valores e chamar o jsp respectivo e os valores settados já aparecerem nos inputs. Se não houver uma forma de fazer isso por favor me expliquem uma outra maneira.

Grato.
:slight_smile:

Isso é o básico do Struts, amigo!

Você deve configurar o recurso e o form no struts-config.xml, criar sua classe de ActionForm, usar as taglibs do struts no JSP e etc. o Struts sozinho popula o form e apresenta na tela, para você.

Minha estrutura é a seguinte:

cadastro.jsp
CadastroForm
CadastroAction

ocorrencia.jsp
OcorrenciaForm
OcorrenciaAction

Na ocorrencia.jsp mostram todas as ocorrencias, quando eu clicar em uma delas no OcorrenciaAction eu seleciono a ocorrencia e abro a cadastro.jsp com todos os dados da ocorrencia preenchidos.

Eu tentei na OcorrenciaAction preencher o CadastroForm e dar um :

mapping.findForward( "cadastro" );

mas não funcionou.

Como eu posso fazer isso ??

vc está chamando por cadastro.do? ou cadastro.jdp?

Na verdade vc deveria chamar, da pagina ocorrencia.jsp, o recurso cadastro.do…

Da ocorrencia.jsp eu chamo o ocorrencia.do, que vai pra OcorrenciaAction.
da OcorrenciaAction eu consulto a base de dados carrego o CadastroForm e dou um mapping.findForward( “cadastro” );, que no struts-config.xml vai direcionar para a cadastro.jsp.

Mas onde vc relaciona o seu CadastroForm???

No struts-config.xml fala que pro recurso ocorrencia.do é usado o CadastroForm ou oq?

Então no seu Action vc faz:

CadastroForm seuForm = (CadastroForm) form;
// brinque com seuForm

É isso mesmo, funcionou !!!

não tinha pensado antes.
No struts-config.xml eu apontei que o form da ocorrencia era o CadastroForm ao invés de OcorrenciaForm, então na action eu usei o argumento form para carregar todos os campos, quando eu dei o findForward( “cadastro” ); a página já veio carregada.

Valeu !!!