Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Type mismatch: cannot convert from Object to String

Fala, pessoal! Tudo bem?

A mensagem que mencionei acima não está permitindo meu código compilar (Type mismatch: cannot convert from Object to String)

Empresa.java ↓

package br.com.alura.gerenciador.servlet;

public class Empresa {

    private Integer id;
    private String nome;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getNome() {
        return this.nome;
    }

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

}

NovaEmpresaServlet.java ↓

package br.com.alura.gerenciador.servlet;

import java.io.IOException;
import java.io.PrintWriter;

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 JSP

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

novaEmpresaCriada.jsp ↓

<%
    String nomeEmpresa = request.getAttribute("nomeDaEmpresa"); //O erro está sendo mostrado nessa linha  
    System.out.println(nomeEmpresa);
%>

<html>
<body>
<p> Empresa <% out.print(nomeEmpresa); %> cadastrada com êxito! </p>
</body>
</html>

Como mencionado, o erro está no código novaEmpresaCriada.jsp, na segunda linha, onde marquei com um comentário.

Muito obrigado a todos

1 resposta
solução!

Atualizando: Já consegui resolver fazendo o casting do request.getAttribute("nomeDaEmpresa");,deixando a novaEmpresaCriada.jsp assim:

<%
    String nomeEmpresa = (String) request.getAttribute("nomeDaEmpresa");
    System.out.println(nomeEmpresa);
%>

<html>
<body>
<p> Empresa <% out.print(nomeEmpresa); %> cadastrada com êxito! </p>
</body>
</html>

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software