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);
}
@Override
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;
}
@Override
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>
Codigo: | |
Nome: | |
Sobrenome: | |
Telefone: | |
Celular: | |
Email: | |
Login: | |
Senha: | |
Agradeço a ajuda e desculpa incomodo…