Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Fiz o exercicio de jsp conforme o do professor, só que váriavel não está aparecendo

O código é esse:

@WebServlet (urlPatterns="/novaEmpresa") public class NovaEmpresa extends HttpServlet {

@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String nome = request.getParameter("nome");

Empresa empresa = new Empresa(nome); new EmpresaDAO().adiciona(empresa);

request.setAttribute("nome", nome);

RequestDispatcher dispatcher = request .getRequestDispatcher("/WEB-INF/paginas/novaEmpresa.jsp"); dispatcher.forward(request, response);

}

JSP

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

Empresa adicionada com sucesso: ${empresa.nome}


Obs: Ele redireciona para a servlet corretamente mais não mostra o resultado da variavel ${empresa.nome}

2 respostas
solução!

Olá Lucas,

Lembrando que, para aparecer o nome da empresa na JSP, a gente tem que deixar essa variável/esse objeto disponível para ela. A forma como estamos fazendo isso é colocando um atributo no objeto request e dando um nome/uma etiqueta a ele pra acessarmos depois.

Mostrando esse raciocínio com outro código, ficaria assim:

A servlet:

@WebServlet (urlPatterns="/idade") 
public class NovaEmpresa extends HttpServlet {

    @Override 
    protected void doPost(HttpServletRequest request,    HttpServletResponse response) throws ServletException, IOException {

        String idade = request.getParameter("idade");

        request.setAttribute("idadeDoUsuario", idade);

        RequestDispatcher dispatcher = request .getRequestDispatcher("/WEB-INF/paginas/mostraIdade.jsp");
        dispatcher.forward(request, response);
    }
}

A JSP:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <body>
        O usuário tem ${idadeDoUsuario} anos.
    </body>
</html>

Dá uma olhada no objeto que você setou como atributo da request, no nome que você deu a ele e no jeito que você está acessando esse atributo na JSP.

Se continuar com alguma dúvida, avisa aqui :)

Obrigado Ana, agora eu entendi como funciona.