Bom dia Pessoal!
Quando crio minhas classes actions no Struts2, não há necessidade de extends nenhuma outra classe para que os objetos sejam instanciados automaticamente, conforme os nomes dos campos no formulário.
Então eu tive a necessidade de incluir atributos no request (request.setAttribute), mas como eu faço isso??? Ter acesso ao HttpServletRequest e HttpServletResponse??? Eu tenho que estender alguma classe???
Obrigado pessoal, desde já!
Abraços!
bezerrasantos,
Não me lembro o nome da classe aqui agora pq não to com a lib do struts2 no meu pc. Dá uma GOOgada que vc acha num piscar de olhos.
Mas se eu não me engano vc pega o objeto request atravéz de +o- isso:
ActionServletContext.getContext().getRequest();
Mais ou menos isso aew viu. =]
Flws!!!
Tem um tutorial que dá uma explicada…
Consegui aqui!
Quase q vc acertou Fábio.
Map session = ActionContext.getContext().getSession();
session.put(“nomeParametro”, Objeto);
Valeu Pessoal!
E ai bezerra, beleza?
Cara, você não tem necessidade nenhuma de extender uma classe para recuerar seus valores do form. O Struts faz isso automaticamente para vc.
Por exemplo.
Imagine que vc tem uma classe chama Pessoa e nela vc tenha os atributos nome, email e dataNascimento.
Para recuperar esses valores na sua action, basta colocar no atributo name das tags do strutso valor “pessoa.nome”, “pessoa.email” e “pessoa.dataNascimento”, o struts 2 por reflection vai preencher os valor.
Abraços
então mas o RECOMENDADO é utilizar IoC para isso. Mais recomendado ainda é utilizar o microcontainer so Spring para tal. Mas se não puder, utilize o do webwork mesmo. como vc pode ter observado no tópico tem any maneiras de fazer isso.
E aih MauNunes, blz???
Eu jah estou fazendo dessa maneira, o problema é que esses atributos só ficam disponíveis para a página seguinte que for direcionada. Se dessa página eu acessar uma outra, esses atributos desaparecem. Então, se dentro da action eu colocar o atributo no escopo session, no seu exemplo “Pessoa”, vou conseguir acessá-lo de outras páginas tbm. Bom, pelo menos nos testes que fiz aqui aconteceu isso.
E o que é esse Ioc ??? Eu desconheço… Vem junto com o Struts???
E fazendo do jeito q o MauNunes explicou eh webwork???
Valew!
1- Struts 2 é webwork ( embor anão leve tranto ao pé da letra)
2- Por IoC provure no website do martin fowler para entender melhor ou aqui no guj… Há vários tópicos discutindo sobre isso…
qqer dúvida, poste que a gente ajuda… blz?
abraços!