4
respostas

A EL não funciona

O código ${ 3 + 3 } no html funciona perfeitamente, mas o código ${ empresa } não, ele não imprime o nome da empresa conforme a aula e eu não sei porque.

4 respostas

Oie Italo, tudo bem?

Aparece algum erro? Se puder me enviar o código html e o código java do seu servlet para eu dar uma olhada.

Um chute, acredito seu problema possa estar no servlet "NovaEmpresaServlet", nela você precisa ter o seguinte código:


RequestDispatcher rd = request.getRequestDispatcher("/novaEmpresaCriada.jsp");
request.setAttribute("empresa", empresa.getNome());
rd.forward(request, response);

Aguardo uma resposta para conseguir te ajudar melhor! :)

Bons estudos!

Obrigado pela ajuda!

Mas continuando, não aparece nenhuma mensagem de erro...

E o meu código do NovaEmpresaServlet está idêntico ao seu:

//chamar o JPS
RequestDispatcher rd = request.getRequestDispatcher("/novaEmpresaCriada.jsp");
request.setAttribute("empresa", empresa.getNome());
rd.forward(request, response);

realmente não sei o que fazer ;-;

NovaEmpresaServlet

package br.com.alura.gerenciador.servlet;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/novaEmpresa")
public class NovaEmpresaServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;

    protected void doPost(HttpServletRequest request, HttpServletResponse response) 
            throws ServletException, IOException {
        System.out.println("Cadastrando nova empresa");

        String nomeEmpresa = request.getParameter("nome");
        Empresa empresa = new Empresa();
        empresa.setNome(nomeEmpresa);

        Banco banco = new Banco();
        banco.adiciona(empresa);

        //chamar o JPS
        RequestDispatcher rd = request.getRequestDispatcher("/novaEmpresaCriada.jsp");
        request.setAttribute("empresa", empresa.getNome());
        rd.forward(request, response);
    }

}

novaEmpresaCriada.jsp

<html>
    <body>
        Empresa ${ empresa } cadastrada com sucesso!
    </body>
</html>

eu acredito que o erro esteja fora desse escopo, porque eu baixei o projeto feito pelo professor em vez de criar do zero... então já não sei mais o que possa ser...

Oie Italo, tudo bem contigo?

Talvez o seu problema esteja relacionado com o Tomcat, vamos tentar limpar o cache para ver se funciona:

  • Na parte inferior, na aba servers -> Selecione o "Tomcat" -> Clique com o botão direito do mouse -> Clique em "Clear". -> Clique em "Ok".

Foto mostrando como limpar o Tomcat

Tente isso, e qualquer coisa pode mandar mensagem que fico a disposição!