Problemas em passagem de parametro

10 respostas
jessetsilva

Boa tarde a todos.

Estou enfrentando o seguinte problema: Preciso passar alguns parametros da minha servletpara meu JSP, mas sempre queverifico ele recebe valor null:

Abaixo segue os codigos:

servlet
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
      usuariosDao usuario = new usuariosDao();
      usuario.setNome("jesse");

      request.getSession().setAttribute("usuarios", usuario);
    }
JSP
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<jsp:useBean id="usuarios" class="dao.usuariosDao"/>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>

    </head>
    <body>
        
        Name: <%= usuarios.getNome() %><BR>


    </body>
</html>
Usuarios
public class usuariosDao {
private List<String> nomes;
private String nome;

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }
    public usuariosDao()
    {

    }
  


    public List<String> getNomes() {
        return nomes;
    }

    public void setNomes(List<String> nomes) {
        this.nomes = nomes;
    }

Existe algum erro nestes codigos ou esta faltando algo para que o JSP consiga pegar o usuario passado pela servlet?

Desde já orbrigado a todos.

10 Respostas

rogelgarcia

Troca isso

<%= usuarios.getNome() %>

por

${usuarios.nome}
jessetsilva

Cara, mesma coisa.

Tem um detalhe que esqueci de comentar: QUando eu vou lah no meu usuarioDAo e no getName mando ele retornar alguma coisa tipo"Joao", o JSP pega isso, o que causa a impressão de que o erro esta na passagem deste parametro da servletpara a classe dao e depois da dao para o JSP.

Qualquer novas dicas serão muito bem vindas, obrigado.

rogelgarcia

Mas vc passou primeiro pelo servlet para depois chamar o JSP?

jessetsilva

Isso mesmo.

no casoeu pesquisaria isso de um banco, passaria este valor pelo servlet e depois pegaria jo JSP.

O problema é que nao tenho experiencia com JSP e servlets, pois a muito tempo atras mexi com isso e sempre foi coisas superficiais.

rogelgarcia

Coloca um

System.out.println("PASSOU NO SERVLET");

No seu servlet… e ve se a frase saiu no console…

jessetsilva

Não apareceu nem no console e nem no log do servidor.

no browser to iniciando ele assim: http://localhost:34662/Web/AcessoBanco
e ele redireciona para o index.jsp normalmente, mas nao apareceu no log e nem no console

rogelgarcia

Voce tem a manha de usar o debug aí? pra ver se tá passando no servlet mesmo??

Tá com cara que nao está passando lá…

jessetsilva

Esta passando, mas parece ser algo de errado na linha:

request.getSession().setAttribute("usuarios", usuario);

mas nao me retornou nenhuma exceção, apenas nao fez o que deveria?

sabe me dizer onde defino que ela deve chamar o JSP?

pq acho que pela config do netbeans nao ta rolando

<servlet> <servlet-name>AcessoBanco</servlet-name> <jsp-file>/index.jsp</jsp-file> </servlet> <servlet-mapping> <servlet-name>AcessoBanco</servlet-name> <url-pattern>/AcessoBanco</url-pattern> </servlet-mapping>

rogelgarcia

Nao cara… o mapeamento num tá ok nao…

Pro jsp nem precisa de mapeamento…

E pro servlet… .vc deveria mapear a classe do seu servlet ao invés do jsp

Dá uma estudada em servlets e mapeamentos… que suas dúvidas… tao mais além do que só esse problema…

Se nao vc vai resolver esse e já vai cair em outro… é importante entender como os negócios funcionam…

jessetsilva

Entao, eu havia mudado isso, pq tinha feito um projeto uma época que fazia apenas ao contrario, o JSP chamava a Servlet. Estudei sobre estas coisas um pouco e a unica coisa que nao consegui entender foi isso, a da passagem do parametro

Mas vou dar uma analisada melhor e ver onde esta o erro.

Obrigado pelas dicas :slight_smile:

Criado 23 de março de 2010
Ultima resposta 23 de mar. de 2010
Respostas 10
Participantes 2