duk
Julho 11, 2011, 12:39pm
#1
Ola, galera estou montando um projeto com JSF , HIBERNATE, RICHFACES e ao executar o Tomcat ocorre o erro logo abaixo tem alguém que pode ajudar a mostrar o motivo do erro.
Erro:
[code]
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: Error performing conversion of value ’ of type class java.lang.String to type class entidades.Aluno for managed bean alunoBean.
javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
root cause
javax.faces.FacesException: Error performing conversion of value ’ of type class java.lang.String to type class entidades.Aluno for managed bean alunoBean.
com.sun.faces.config.ManagedBeanFactoryImpl.getConvertedValueConsideringPrimitives(ManagedBeanFactoryImpl.java:971)[/code]
Acho que vc fez um EL = #{} em algum componentes que espera um valor String e veio o tipo desse ai informado - entidades.Aluno
Veja se na pagina não faltou vc colocar a propriedade dessa entidade…
duk
Julho 11, 2011, 12:57pm
#3
Veja o Bean
package controle;
import org.hibernate.Hibernate;
import org.hibernate.Session;
import org.hibernate.Transaction;
import util.HibernateUtil;
import util.SessionUtil;
import entidades.Aluno;
public class AlunoBean {
private Aluno aluno;
public String salvar(){
Session session = HibernateUtil.getSession();
Transaction t = session.beginTransaction();
try{
session.merge(aluno);
t.commit();
SessionUtil.addSuccessMessage("OperacaoSucesso");
aluno = new Aluno();
}catch (Exception e) {
t.rollback();
SessionUtil.addErrorMessage("OperacaoFracasso");
}finally{
session.close();
}
return null;
}
public Aluno getAluno() {
return aluno;
}
public void setAluno(Aluno aluno) {
this.aluno = aluno;
}
}
duk
Julho 11, 2011, 12:59pm
#4
minha entidade:
package entidades;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class Aluno
{
@Id
@GeneratedValue
private int id;
private String nome;
private int idade;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getIdade() {
return idade;
}
public void setIdade(int idade) {
this.idade = idade;
}
}
Faltou o problema = A PAGINA JSF!!!
duk
Julho 11, 2011, 1:15pm
#6
Pagina JSF:
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<html>
<head>
<title>Cadastro de Alunos</title>
<link href="css/estilo.css" rel="stylesheet" type="text/css">
</head>
<body>
<f:view>
<h:form>
<h:outputText styleClass="title" value="Cadastro de Alunos" />
<br>
<br>
<rich:messages layout="table" infoLabelClass="messageInfo"
errorLabelClass="messageError">
<f:facet name="infoMarker">
<h:graphicImage value="imagens/sucesso.gif" />
</f:facet>
<f:facet name="errorMarker">
<h:graphicImage value="images/erro.gif" />
</f:facet>
</rich:messages>
<h:panelGrid columns="3">
<h:outputText value="Nome: " />
<h:inputText id="Nome" value="#{alunoBean.aluno.nome}" size="30" required="true" />
<h:message for="Nome" style="color: darkred" />
<h:outputText value="Idade: " />
<h:inputText id="Idade" value="#{alunoBean.aluno.idade}" />
<h:message for="Idade" style="color: darkred" />
</h:panelGrid>
<h:commandButton value="Salvar" action="#{alunoBean.salvar}" />
<h:commandButton value="Cancelar" action="cancelaAluno" immediate="true" />
<h:commandButton value="Menu Principal" action="index" immediate="true" />
</h:form>
</f:view>
</body>
</html>
Coloque o texto do erro todo…
Da erro na hora entrar na pagina ou na hora que vc fazer algum ação nela?
duk
Julho 11, 2011, 1:27pm
#8
Ola, agora fiz outro teste : Removi uma das propriedades do bean que estava a mais e agora a pagina funciona , porem ao ir no salvar ocorre o erro
n
javax.servlet.ServletException: /cadastroAluno.jsp(31,3) '#{alunoBean.aluno.nome}' Target Unreachable, 'aluno' returned null
javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
duk
Julho 11, 2011, 1:41pm
#9
Verifiquei que estava faltando o objeto , mesmo desta forma o erro continua
public class AlunoBean {
private Aluno aluno = new Aluno();
duk
Julho 11, 2011, 1:52pm
#10
Valeu pela ajuda , em rever o codigo , Funcionou
Obrigado!!!