Jsp mandando um objeto para uma classe [resolvido]

1 resposta
comedor_de_folhas

* o usuario digita seus dados em uma pagina HTML .

-essa pagina chama uma .jsp.

-essa.jsp leva os dados do formulario html para uma classe Pessoa.java
-uso jsp:useBean para instanciar um objjeto dessa classe no meu jsp.

- depois de preencher o objeto, mando o msm para uma classe de validação.

ai q da o erro :
HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

root cause

java.lang.NullPointerException
	aff.Validacao.ehValido(Validacao.java:41)
	org.apache.jsp.verifica_jsp._jspService(verifica_jsp.java:88)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

note The full stack trace of the root cause is available in the Tomcat logs.
Apache Tomcat/5.0.19
vejam o jsp:
<jsp:useBean id="idPessoa" class="aff.Pessoa"  scope="request"  />
<jsp:useBean id="idPessoaDB" class="aff.PessoaDB"  scope="request"  />
<jsp:useBean id="idValidacao" class="aff.Validacao"  scope="request"  />

<%
	String tempNome  = request.getParameter("nome");
	String tempEnd   = request.getParameter("endereco");;
	String tempCida  = request.getParameter("cidade");;
	String tempTele  = request.getParameter("telefone");;
	String tempRg    = request.getParameter("rg");;
	String tempEmail = request.getParameter("email");;
	
	idPessoa.setNome(tempNome);
	idPessoa.setEndereco(tempEnd);
	idPessoa.setCidade(tempCida);
	idPessoa.setTelefone(tempTele);
	idPessoa.setRg(tempRg);  
	idPessoa.setEmail(tempEmail);


if(idValidacao.ehValido(idPessoa)){
	
	idPessoaDB.inserir(idPessoa); //se retornar ok ,insere no bd
	}else{
%>

<!-- senao chama o reFormulario -->
<jsp:forward page="reFormulario.jsp"/> <!--não esquecer do '/'-->

<% 
}
%>
esse jsp manda os dados da classe pessoa para uma classe de validação:
package aff;

import aff.Pessoa;

public class Validacao {
	
	private String erroNome;
	private String erroRg;

	public String getErroNome() {
		return erroNome;
	}
	public void setErroNome(String erroNome) {
		this.erroNome = erroNome;
	}


	public String getErroRg() {
		return erroRg;
	}
	public void setErroRg(String erroRg) {
		this.erroRg = erroRg;
	}


	public boolean ehValido(Pessoa pess){	
		
		System.out.println("entrou no validacao");
		
		boolean volta = true;
		//essas variaveis locais vao receber os valores de
		//Pessoa.java
		
		String nome     = pess.getNome();
		String rg       = pess.getRg();

			if((nome == null) || nome.equals("")){
				erroNome= "Digite um nome válido.";
				volta = false;
			}		
			if((rg == null) || rg.equals("")){
				erroRg= "Digite um rg válido.";
				volta = false;
			}

		return volta;
	}
}
o problema pode estar nessa linha do jsp:
if(idValidacao.ehValido(idPessoa)){
mas eu nao consigo enchergar!!

alguem consegue identificar o erro?
obrigado

1 Resposta

comedor_de_folhas

fatou importar a classe! ai deu certo!!

segeu o .jsp como deve ficar:
<%@ page import="aff.Validacao" %>

<jsp:useBean id="idPessoa" class="aff.Pessoa"  scope="request"  />
<jsp:useBean id="idPessoaDB" class="aff.PessoaDB"  scope="request"  />
<jsp:useBean id="idValidacao" class="aff.Validacao"  scope="request"  />




<%
	String tempNome  = request.getParameter("nome");
	String tempEnd   = request.getParameter("endereco");;
	String tempCida  = request.getParameter("cidade");;
	String tempTele  = request.getParameter("telefone");;
	String tempRg    = request.getParameter("rg");;
	String tempEmail = request.getParameter("email");;
	
	idPessoa.setNome(tempNome);
	idPessoa.setEndereco(tempEnd);
	idPessoa.setCidade(tempCida);
	idPessoa.setTelefone(tempTele);
	idPessoa.setRg(tempRg);  
	idPessoa.setEmail(tempEmail);


if(idValidacao.ehValido(idPessoa)){
	
	idPessoaDB.inserir(idPessoa); //se retornar ok ,insere no bd
	}else{
%>

<!-- senao chama o reFormulario -->
<jsp:forward page="reFormulario.jsp"/> <!--não esquecer do '/'-->

<% 
}
%>
Criado 30 de junho de 2007
Ultima resposta 1 de jul. de 2007
Respostas 1
Participantes 1