Duvida basica sobre JSP

7 respostas
D

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>

&lt;%!String nome, idade, empresa; %&gt;
&lt;body&gt;

   
&lt;jsp:useBean id="receber" scope="page" class="/WebApplication1/Tratamento_Bean"/&gt;

    &lt;form method="get"&gt;
        &lt;input type="text" name="Nome" value="&lt;%=receber.getNome()%&gt;"&gt;
        &lt;input type="text" name="Idade" value="&lt;%=receber.getIdade()%&gt;"&gt;
        &lt;input type="text" name="Empresa" value="&lt;%=receber.getEmpresa()%&gt;"&gt;
    &lt;/form&gt;
&lt;/body&gt;

</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

7 Respostas

J

Esse class, é o nome totalmente qualificado de uma classe, no formato:

pacote.subpacote.NomeDaClasse

D

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>

&lt;body&gt;

&lt;% Tratamento_Bean bean = (TratamentoBean) request.getParameter("Tratamento_Bean"); %&gt;

    &lt;form method="get"&gt;
        &lt;input type="text" name="Nome" value="&lt;%=bean.getNome()%&gt;"&gt;
        &lt;input type="text" name="Idade" value="&lt;%=bean.getIdade()%&gt;"&gt;
        &lt;input type="text" name="Empresa" value="&lt;%=bean.getEmpresa()%&gt;"&gt;
    &lt;/form&gt;
&lt;/body&gt;

</html>

só que quando compilo indica um erro na linha

&lt;% Tratamento_Bean bean = (TratamentoBean) request.getParameter("Tratamento_Bean"); %&gt;

indicando que ele não encontra essa classe.

J

O nome da classe é Tratamento_Bean ou TratamentoBean? Você está usando os dois…

D

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

J

E isso está certo? Posta a declaração da classe aí…

D

o JB está assim

package diego;
public class Tratamento_Bean

o servlet assim:

package diego;

import <a href="http://java.io">java.io</a>.<em>;

import javax.servlet.</em>;

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);

E

Cara acho que o erro pode tá nisso aqui:

&lt;jsp&#58;useBean id="receber" scope="page" class="/WebApplication1/Tratamento_Bean"/&gt;

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:

&lt;jsp&#58;useBean id="receber" scope="application" class="diego.Tratamento_Bean"/&gt;

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&#40;&#41;.getServletContext&#40;&#41;.setAttribute&#40;"receber", dado&#41;;

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.
Criado 14 de setembro de 2006
Ultima resposta 14 de set. de 2006
Respostas 7
Participantes 3