domingo, 5 de abril de 2009

[java-br] Erro managed bean: não está funcionado try...catch...

·

Olá pessoal,

Quando mando buscar um código que não existe, está mostrando a mensagem abaixo quando era somente(ou eu prentendia que) desse uma mensagem mais amigável:
*** Estou usando Tomcat 6.0.16, com hibernate, jsf, rich faces

org.apache.jasper.JasperException: javax.faces.el.EvaluationException: javax.faces.el.EvaluationException: Error getting property 'id' from bean of type com.mts.samds.model.Usuario_$$_javassist_0: org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [com.mts.samds.model.Usuario#2]
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:152)
org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:216)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:214)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
[...]

*** MANAGED BEAN ***
public class UsuarioMB {
private DaoFactory factory;
private Usuario usuario;
private Dao<Usuario> dao;

public UsuarioMB() {
this.usuario = new Usuario();
this.factory = new DaoFactory();
this.dao = factory.getUsuarioDao();

}
[...]
public void findUsuarioById() {
try {
usuario = dao.procura(usuario.getId());

} catch (org.hibernate.ObjectNotFoundException e) {
FacesMessage msgs = new FacesMessage(FacesMessage.SEVERITY_ERROR,
"Registro não localizado.","Registro não localizado!");
FacesContext.getCurrentInstance().addMessage(null, msgs);
} catch (Exception e) {
FacesMessage msgs = new FacesMessage(FacesMessage.SEVERITY_ERROR,
"Erro ao buscar registro.",e.getMessage());
FacesContext.getCurrentInstance().addMessage(null, msgs);
}
}

*** DAO ***
public class Dao<T> {
private final Session session;
private final Class<T> classe;

public Dao(Session session, Class<T> c) {
this.session = session;
this.classe = c;
}
[...]
@SuppressWarnings("unchecked")
public T procura(Integer id) throws Exception{
return (T) session.load(this.classe, id);
}
[...]


__._,_.___
Para sair da lista, envie email para: java-br-unsubscribe@yahoogroups.com
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-br
Atividade nos últimos dias
Visite seu Grupo
Yahoo! Mail

Conecte-se ao mundo

Proteção anti-spam

Muito mais espaço

Yahoo! Barra

Instale grátis

Buscar sites na web

Checar seus e-mails .

Yahoo! Grupos

Crie seu próprio grupo

A melhor forma de comunicação

.

__,_._,___

0 comentários:

Pague com LPs do Mister Colibri

Pague com LPs do Mister Colibri
Quer comprar celular,Tablet,pen drive, GPS e muito outros produtos e ainda podendo pagar tudo em LPs ?Pois saiba que isso é possível,basta você visitar o site downloadstotal.com e realizar a sua compra com toda tranquilidade e segurança!!!

Hora

Online

Arquivo do Blog