Bom dia…
Estou começando a aprender jsp e fiz uma página simples para enviar dados, um servlet que recebe esses dados e faz as verificações, e um javabean que retornar os dados para um segunda página jsp.
nesse segundo jsp que recebe os dados estão ocorrendo erros que não consigo corrigir segue o código:
<%@page contentType=“text/html”%>
<%@page pageEncoding=“UTF-8”%>
<html>
<head>
<meta http-equiv=“Content-Type” content=“text/html; charset=UTF-8”>
<title>Recebendo</title>
</head>
<%!String nome, idade, empresa; %>
<body>
<jsp:useBean id="receber" scope="page" class="/WebApplication1/Tratamento_Bean"/>
<form method="get">
<input type="text" name="Nome" value="<%=receber.getNome()%>">
<input type="text" name="Idade" value="<%=receber.getIdade()%>">
<input type="text" name="Empresa" value="<%=receber.getEmpresa()%>">
</form>
</body>
</html>
o programa excuta um erro nesse jsp, ele não recebe os dados e não aparece a página na tela.
Se puderem me ajudar fico grato
[]'s
Esse class, é o nome totalmente qualificado de uma classe, no formato:
pacote.subpacote.NomeDaClasse
Fiz umas modificações para importar o java_bean
<%@page contentType=“text/html” import=“diego.Tratamento_Bean”%>
<%@page pageEncoding=“UTF-8”%>
<html>
<head>
<meta http-equiv=“Content-Type” content=“text/html; charset=UTF-8”>
<title>Recebendo</title>
</head>
<body>
<% Tratamento_Bean bean = (TratamentoBean) request.getParameter("Tratamento_Bean"); %>
<form method="get">
<input type="text" name="Nome" value="<%=bean.getNome()%>">
<input type="text" name="Idade" value="<%=bean.getIdade()%>">
<input type="text" name="Empresa" value="<%=bean.getEmpresa()%>">
</form>
</body>
</html>
só que quando compilo indica um erro na linha
<% Tratamento_Bean bean = (TratamentoBean) request.getParameter("Tratamento_Bean"); %>
indicando que ele não encontra essa classe.
O nome da classe é Tratamento_Bean ou TratamentoBean? Você está usando os dois…
Eu modifiquei, para o nome correto da classe porem o erro ainda continua, ele não encontra a referencia do Tratamento_Bean, mesmo tendo sido importado
E isso está certo? Posta a declaração da classe aí…
o JB está assim
package diego;
public class Tratamento_Bean
o servlet assim:
package diego;
import java.io.;
import javax.servlet.;
import javax.servlet.http.*;
public class Tratamento extends HttpServlet
e pra passar os valores do servlet para o jsp que recebera valores estou fazendo assim:
this.getServletConfig().getServletContext().setAttribute(“Tratamento_Bean”, dado);
request.getRequestDispatcher("/Receber.jsp").forward(request,response);
Cara acho que o erro pode tá nisso aqui:
<jsp:useBean id="receber" scope="page" class="/WebApplication1/Tratamento_Bean"/>
Primeiramente muda o class para o nome da classe juntamente com o pacote, como o jairelton disse e depois muda o scope para “application”, ficando assim:
<jsp:useBean id="receber" scope="application" class="diego.Tratamento_Bean"/>
Eu falei pra você mudar o escopo para application porque você está setando a variável no contexto da aplicação nesta linha. Oberserve também que você está setando como “Tratamento_Bean” e recebendo com o nome “receber”, os nomes tem que ser iguais por isso mudei esta linha para “receber”:
this.getServletConfig().getServletContext().setAttribute("receber", dado);
Testa aí, acho que isso resolve.
- Obs.: Tenta usar os code conventions da Sun, o nome da sua classe ficaria TratamentoBean ao invés de Tratamento_Bean.