Re:Iniciante em Struts

E ae Rodrigo,

Isso é bem simples… Vou exemplificar para vc.

Vamos supor a seguinte situação:

Vc possui a implementação do seu ActionForm chamado UsuarioForm.

Na sua action, após efetuar a operação com seu Pojo(sua classe persistente ou seu VO) vc precisa setar os atributos do seu actionform.
Ex.:

public ActionForward execute( ... ) {

UsuarioForm usuarioForm = (UsuarioForm)form;
UsuarioDao dao = DaoFactory.getUsuarioDao();

// Vamos supor q a chamada abaixo vai me recuperar o objeto usuario do banco de dados
Usuario pojo = dao.getByPrimaryKey(Long.valueOf(usuarioForm.getId()));

// Após recuperar o usuario do banco, eu preciso setar os atributos no actionform
usuarioForm.setId(pojo.getId().toString());
usuarioForm.setLogin(pojo.getLogin());
usuarioForm.setEmail(pojo.getEmail());

// Após popular todos os atributos do actionform eu direciono a action para o jsp que possui o form usuarioForm

return mapping.findForward("success");
}

Todos os campos do form serão preenchidos com os dados setado no usuarioForm na action.

Se o seu jsp esta renderizando numa boa, é pq os atributos dele estão de acordo com o actionform, pois isso é necessário para que eles sejam preenchidos.

Espero ter ajudado,
Estou preparando um tutorial de struts e esta quase saindo do forno.

[]'s

Pessoal,

Tenho o seguinte problema com o Struts. Não vou postar o código porque acho que meu problema não está em meu código e sim na maneira de implementar. Tenho uma página jsp que lista alguns registros (básico) e quando selecionar algum desses registros ele chama uma action /EditaRegistro.do?id=17, por exemplo. (editar o registro 17)

A tela seguinte seria um jsp que permite editar esse registro, só que o Struts não popula os campos quando redireciona para EditarRegistro.jsp.

A tela de editar utiliza tags html do struts e eu não sei como fazer para pegar o objeto “registro”, salvos na session pela action “EditaRegistro.do” e popular os campos dessas tags.

tentei salvar na session com nome do “ReistroActionForm” e “Registro” mais nenhuma dessas surtiu efeito.

Será que alguem pode me ajudar?

Antecipadamente agradeço.

Rodrigo