Colar os parâmetros da request em um bean

6 respostas
R

Olá pessoal.

Quero “colar o conteúdo dos parametros da request nos atributos de um bean”.
Algo como o que faz a tag <jsp:setProperty name=“xyz” property="*"/>, mas que se possa ser utilizado num Servlet ou uma classe qualquer.
Alguem aí conhece uma solução para isso?
Algum framework ou seja lá como for chamado?
Uma luz …

Desde já agradeço.

6 Respostas

von.juliano

Cara, não sei se entendi direito o seu problema, mas acho que vc pode resolvê-lo utilizando JSTL:
http://java.sun.com/products/jsp/jstl/
http://java.sun.com/products/jsp/jstl/1.1/docs/tlddocs/index.html

R

von.juliano, obrigado pela pronta resposta.
E mais ou menos isso mesmo.
Eu não entendo muito do jstl, mas seria possível utilizar estas tags num servlet ou numa classe? Acho que não pois é algo para jsp.
Seria então a ‘beleza’ das funcionalidades do jstl ‘codados’ dentro de classes ou servlets.

von.juliano

Vc precisa pegar parâmetros do request e setar no bean, é isso? Vê se seria algo assim (num método do servlet):

Pessoa p = new Pessoa();

String nome = request.getParameter("nome");
int idade = Integer.parseInt(request.getParameter("idade"));

p.setNome(nome);
p.setIdade(idade);

É + ou - isso que vc precisa? Se nã for posta aí q a gente tenta de novo :XD: !

R

Isso. é isso mesmo.
Só que…
Não queria codificar identificando cada um dos parametros e setando cada um dos attributos do bean.
O que eu tinha imaginado é de fazer exatamente o que o <jsp:setProperty name=“xyz” property="*"/> faz ou seja: passar a request e o bean como parametros para um “processo” que fizesse isso.Lêsse o parametro da request identificasse no bean qual o atributo a setar e setasse automaticamente populando assim o bean.
Estou imaginando fazer algo via reflection etc e talz …
Mas au lembro de nos primóridios quando começei a utilizar o java de algo que fazia isso, só que não descubro o que é.

von.juliano

Ah tá, agora entendi, e aí te recomendo o VRaptor, ele faz tudo isso! Dá uma olhada no tutorial dele, é muito simples! Acho que ele resolve o seu problema! :mrgreen:

L

Régis, o q vc quer fazer é pegar o ServletContext da aplicação? Alguma coisa como isso:

ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext(); MyClass myObj = (MyClass) servletContext.getAttribute("nomeDoAtributo");

O atributo em q vc está fazendo o get() pode ser uma instancia da sua classe. Não sei se entendi bem sua idéia, esse código está trabalhandocom jsf, não tenho conhecimento suficiente para dizer como isso funciona com jsp.

Criado 10 de maio de 2007
Ultima resposta 10 de mai. de 2007
Respostas 6
Participantes 3