JSP e Bean e Servlet. Como o servlet lê os dados do bean?

1 resposta
T

Oi para todos,
Estou com uma duvida sobre como um servlet pode ler as informacoes de um JavaBean populado em um formulario JSP.
Tenho um formulario JSP que define um bean:

<jsp:useBean id=“loginBeanId” scope=“session” class=“LoginBean” />
<jsp:setProperty name=“loginBeanId” property="*" />

Submeto esse formulario a um servlet, que por sua vez lê o bean. Não sei se a melhor maneira de fazer isso, mas o meu codigo é (caso alguem tenha uma solução melhor, eu agradeço):

HttpSession session = request.getSession();
LoginBean bean = (LoginBean) session.getAttribute(“loginBeanId”);

Nesse ponto, se tudo estiver correto, eu esperava que o meu bean dentro do servlet ja estivesse populado, mas todos os gets retornam nulo. O correto não seria estar com todos os atributos definido por eu ter usado proterty="" no JSP?
O que eu estou fazendo, mas nao acho correto, para resolver isso é usar o request.getParameter() para popular o bean dentro do servlet, mas afinal, para que serve o proterty="
", ele só funciona entre páginas JSP?

Obrigado.

Glauco

1 Resposta

D

Olá todesco

O local ideal para você montar o seu bean não é na página JSP. O local ideal é no servlet mesmo.

Então, no JSP, faça assim:

...
&lt;form action="/servlet"&gt;
  Usuario&#58; &lt;input type="text" name="usuario"&gt; &lt;br&gt;
  Senha&#58; &lt;input type="password" name="senha"&gt; &lt;br&gt;
  &lt;input type="submit" value="Login"&gt;
&lt;/form&gt;
...

Aí, no servlet, você faz assim:

...
  LoginBean lb = new LoginBean&#40;&#41;;
  lb.setUsuario&#40;request.getParameter&#40;"usuario"&#41;&#41;;
  lb.setSenha&#40;request.getParameter&#40;"senha"&#41;&#41;;
  ...

Beleza?

Falow, um abraço, fica com Deus!

Criado 16 de abril de 2005
Ultima resposta 16 de abr. de 2005
Respostas 1
Participantes 2