[Resolvido]Erro na hora de cancelar e cadastrar clientes... quem puder ajudar

4 respostas
well

Pessoal boa noite… fiz um cadastro de clientes porem na hora de cadastrar e cancelar da erro… da um força ai galera…

HTTP Status 500 -


type Exception report

message

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

exception

javax.servlet.ServletException: /cadastrarclientes.jsp(25,24) ‘#{ClienteFace.selectedCliente.codigo}’ Target Unreachable, ‘selectedCliente’ returned null
javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)

root cause

org.apache.jasper.el.JspPropertyNotFoundException: /cadastrarclientes.jsp(25,24) ‘#{ClienteFace.selectedCliente.codigo}’ Target Unreachable, ‘selectedCliente’ returned null

org.apache.jasper.el.JspValueExpression.getType(JspValueExpression.java:61)

com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:81)

javax.faces.component.UIInput.getConvertedValue(UIInput.java:934)

javax.faces.component.UIInput.validate(UIInput.java:860)

javax.faces.component.UIInput.executeValidate(UIInput.java:1065)

javax.faces.component.UIInput.processValidators(UIInput.java:666)

javax.faces.component.UIForm.processValidators(UIForm.java:229)

javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1033)

javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:662)

com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:100)

com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)

com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)

javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.


Apache Tomcat/6.0.18


Cliente.java

package projetoPousadas.entity;

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.Id;

import javax.persistence.Table;

/**
*

  • @author Rafael
    */
    @Entity
    @Table(name=“clientes”)
    public class Cliente implements java.io.Serializable{
    private static final long serialVersionUID = 1L;
@Id

@Column(name=codigo,nullable=false)

private Integer codigo;

@Column(name=“nome”,nullable=false)
private String nome;

@Column(name=“sobrenome”,nullable=false)
private String sobrenome;

@Column(name=“telefone”,nullable=false)
private Integer telefone;

@Column(name=“celular”,nullable=false)
private Integer celular;

@Column(name=“email”,nullable=false)
private String email;

@Column(name=“login”,nullable=false)
private String login;

@Column(name=“senha”,nullable=false)
private String senha;

public Cliente(){
}

public Integer getCelular() {

return celular;

}
public void setCelular(Integer celular) {

this.celular = celular;

}
public Integer getCodigo() {

return codigo;

}
public void setCodigo(Integer codigo) {

this.codigo = codigo;

}
public String getEmail() {

return email;

}
public void setEmail(String email) {

this.email = email;

}
public String getLogin() {

return login;

}
public void setLogin(String login) {

this.login = login;

}
public String getNome() {

return nome;

}
public void setNome(String nome) {

this.nome = nome;

}
public String getSenha() {

return senha;

}
public void setSenha(String senha) {

this.senha = senha;

}
public String getSobrenome() {

return sobrenome;

}
public void setSobrenome(String sobrenome) {

this.sobrenome = sobrenome;

}
public Integer getTelefone() {

return telefone;

}
public void setTelefone(Integer telefone) {

this.telefone = telefone;

}
public boolean validarSenha(String senhaParaTeste){

return senhaParaTeste.equals(senha);

}
<a class="mention" href="/u/override">@Override</a>

public boolean equals(Object obj) {

if (obj == null) {

return false;

}

if (getClass() != obj.getClass()) {

return false;

}

final Cliente other = (Cliente) obj;

if (this.codigo != other.codigo && (this.codigo == null || !this.codigo.equals(other.codigo))) {

return false;

}

return true;

}
<a class="mention" href="/u/override">@Override</a>

public int hashCode() {

int hash = 7;

hash = 37 * hash + (this.codigo != null ? this.codigo.hashCode() : 0);

return hash;

}

}


GenericDao

package projetoPousadas.dao;

import java.io.Serializable;

import java.util.List;

import org.hibernate.Query;

import org.hibernate.Session;

import projetoPousadas.entity.HibernateUtil;

/**
*

  • @author Rafael
    */
    public abstract class GenericDAO {
    private static final long serialVesionUID = 1L;

public GenericDAO(){
}

protected Session getSession(){

return HibernateUtil.getInstance().getSession();

}
protected void salvarAlterarPojo(Serializable Pojo){

Session ses = getSession();

ses.saveOrUpdate(Pojo);

ses.getTransaction().commit();

ses.close();

}
protected  T getPojo(Class preocurarClass, Serializable key){

Session ses = getSession();

Serializable toReturn = (Serializable) ses.get(preocurarClass, key);

ses.getTransaction().commit();

ses.close();

return (T) toReturn;

}
protected void removerPojo(Serializable PojoParaRemover){

Session ses = getSession();

ses.delete(PojoParaRemover);

ses.getTransaction().commit();

ses.close();

}

protected Serializable getPurePojo(String query, Object params) {

Session ses = getSession();

Query qr = ses.createQuery(query);

for (int i = 1; i <= params.length; i++) {

qr.setParameter(1, params [i-1]);

}

Object toReturn = qr.uniqueResult();

ses.getTransaction().commit();

ses.close();

return (Serializable) toReturn;

}
protected  List getPureList(Class classToCast,String query, Object params) {

Session ses = getSession();

Query qr = ses.createQuery(query);

for (int i = 1; i <= params.length; i++) {

qr.setParameter(1, params [i-1]);

}

List toReturn = qr.list();

ses.getTransaction().commit();

ses.close();

return toReturn;

}

}

ClienteDAO

package projetoPousadas.dao;

import java.util.List;

import org.hibernate.Session;

import projetoPousadas.entity.Cliente;

/**
*

  • @author Rafael
    */
    public class ClienteDAO extends GenericDAO {
    private static final long serialVesionUID = 1L;
    private Session session;

public ClienteDAO(){
}

public int addCliente(Cliente clien){

salvarAlterarPojo(clien);

return clien.getCodigo();

}
public void removerCliente(Cliente clien){

removerPojo(clien);

}
public void alterarCliente(Cliente clien){

salvarAlterarPojo(clien);

}
public Cliente getCliente(int clienteCodigo){

Cliente clien = getPojo(Cliente.class, clienteCodigo);

return clien;

}
public List getClientes(){

return getPureList(Cliente.class, from Cliente clien);

}
public boolean novoValidadordeloginesenha(String login, String senha){

return getPurePojo(from Clientes clien where clien.login = ?1 and clien.senha = ?2”, login, senha) !=null;

}

}


ClinteFace

package projetoPousada.faces;

import java.util.List;

import projetoPousadas.dao.ClienteDAO;

import projetoPousadas.entity.Cliente;

/**
*

  • @author Rafael
    /
    public class ClienteFace {
    //
    ********* listando dados do cliente************
    private List cachedClientes = null;
    private ClienteDAO clienteDAO = new ClienteDAO();
    private Cliente selectedCliente;
/** Creates a new instance of ClienteFace */

public ClienteFace() {

}
public List getCachedClientes() {

if (cachedClientes == null){

cachedClientes = clienteDAO.getClientes();

}

return cachedClientes;

}

//********** Adicionar clientes ***************

public String addCliente(){

selectedCliente = new Cliente();

return irParaAddNovoCliente;

}
public String removerCliente(){

clienteDAO.removerCliente(selectedCliente);

cachedClientes = null;

return irParaListaClientes;

}
public Cliente getSelectedCliente(){

return selectedCliente;

}
public String terminaAddCliente(){

clienteDAO.addCliente(selectedCliente);

cachedClientes = null;

return irParaListaClientes;

}
public ClienteDAO getClienteDAO() {

return clienteDAO;

}
public void setClienteDAO(ClienteDAO clienteDAO) {

this.clienteDAO = clienteDAO;

}
public void setSelectedCliente(Cliente selectedCliente) {

this.selectedCliente = selectedCliente;

}

}


cadastrarcliente.jsp

<%@page contentType=“text/html”%>
<%@page pageEncoding=“UTF-8”%>

<%@taglib prefix=“f” uri=“http://java.sun.com/jsf/core”%>
<%@taglib prefix=“h” uri=“http://java.sun.com/jsf/html”%>

<%

This file is an entry point for JavaServer Faces application.

%>

<f:view>
Cadastro de Clientes

Codigo:
Nome:
Sobrenome:
Telefone:
Celular:
Email:
Login:
Senha:

Agradeço a ajuda e desculpa incomodo…

4 Respostas

maquiavelbona

Ah!!! Quanto texto sem usar as tags do fórum! Dá até preguiça de responder.

well

Estranho já postei outras vezes e a tag entrava automatico… como faço para por??? vlw

B

Parece que você quer preencher os atributos de selectedCliente, mas não instanciou ele antes.

private Cliente selectedCliente; // não deveria começar com new Cliente() ?
well

É isso ai mesmo… obrigado agora ficou assim:

private List cachedClientes = null;

private ClienteDAO clienteDAO = new  ClienteDAO();

private Cliente selectedCliente = new Cliente();
Criado 18 de julho de 2009
Ultima resposta 20 de jul. de 2009
Respostas 4
Participantes 3