Conversão de dados de java para html

2 respostas Resolvido
htmlhtml5javascriptjavaprogramação
V

Boa noite!

Meu código na classe ManterPaisController está dando um erro pois tenho atributos pPopulacao e pArea que sao long e double, e nessa classe precisam ser String. Me falaram pra “fazer conversao dos dados pois tudo que vem do html é texto”. Alguém sabe me ajudar? segue código:

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

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

import model.Pais;
import service.PaisService;

/**
 * Servlet implementation class ManterPaisController
 */
@WebServlet("/ManterPais.do")
public class ManterPaisController extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doPost (request, response);
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		String pNome = request.getParameter("nome");
                 //Aqui embaixo da erro e pede pra por como String mas não sei que conversão
                 //é essa
		long pPopulacao = request.getParameter("populacao");
		double pArea = request.getParameter("area");
		
		//instanciar o javabean
				Pais pais = new Pais ();
				pais.setNome(pNome);
				pais.setPopulacao(pPopulacao);
				pais.setArea(pArea);
				
				//instanciar o service
				PaisService cs = new PaisService();
				cs.criar(pais);
				pais = cs.carregar(pais.getId());
				
				PrintWriter out = response.getWriter();
				out.println("<html><head><title>Pais Cadastrado</title></head><body>");
				out.println(	"id: "+pais.getId()+"<br>");
				out.println(	"nome: "+pais.getNome()+"<br>");
				out.println(	"fone: "+pais.getPopulacao()+"<br>");
				out.println(	"e-mail: "+pais.getArea()+"<br>");
			    out.println("</body></html>");
		
		doGet(request, response);
	}
}

2 Respostas

L

Esqueceu de dizer o erro

S
Solucao aceita

O getParameter retorna String, então se você quer outro tipo de dado, tem que converter.
Exemplo:

long pPopulacao = Long.parseLong( request.getParameter("populacao") );
double pArea = Double.parseDouble( request.getParameter("area") );
Criado 24 de março de 2020
Ultima resposta 25 de mar. de 2020
Respostas 2
Participantes 3