thiago.fernandes 18 de mai. de 2011
posta o trecho do arquivo jsp para agente poder ver se existe algo anormal
alex.brito 18 de mai. de 2011
tenta com o “t” maiuscúlo. Ex: <h:inputText … />
[]'s
Aramis_Marques 18 de mai. de 2011
mudei la no <h:inputText…estava minúsculo mesmo…mas agora esta aparecendo outro erro:
g.apache.jasper.JasperException: An exception occurred processing JSP page /cadastroAluno.jsp at line 31
28: <h:inputText id= “Idade” value= "#{alunoBean.aluno.idade}" size= “10” />
29: <h:message for= “Idade” style= “color: darkred” />
30: </h:panelGrid>
31: <h:commandButton value= “Salvar” action= "#{alunoBean.salvar} " />
32: <h:commandButton value= “Cancelar” action= “CancelaAluno” immediate= “true” />
33: <h:commandButton value= “Menu Principal” action= “index” immediate= “true” />
34: </h:form>
o código é o seguinte:
classe alunoBean
package controle ;
import javax.transaction.SystemException ;
import javax.transaction.Transaction ;
import org.hibernate.classic.Session ;
import util.HibernateUtil ;
import util.SessionUtil ;
import entidades.Aluno ;
public class AlunoBean {
private Aluno aluno = new Aluno ();
public String salvar () throws IllegalStateException , SystemException {
//Cria a sessao com o banco e a transacao..
Session session = ( Session ) HibernateUtil . getSession ();
Transaction t = ( Transaction ) session . beginTransaction ();
try {
//salva o objeto curso e se der tudo certo comita a transacao
session . merge ( aluno );
t . commit ();
SessionUtil . addSuccessMessage ( "OpracaoSucesso" );
//limpa o objeto aluno para novas insercoes..
aluno = new Aluno ();
} catch ( Exception e ) {
//se ocorrer algo errado cancela a transacao
t . rollback ();
SessionUtil . addErrorMessage ( "OperacaoFracasso" );
} finally {
//fecha a sessao com o banco de dados.
session . close ();
}
return null ; //continua na mesma pagina
}
public Aluno getAluno () {
return aluno ;
}
public void setAluno ( Aluno aluno ) {
this . aluno = aluno ;
}
}
cadastroAluno.jsp
<% @ 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= "imagens/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}" size= "10" />
<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>
alex.brito 18 de mai. de 2011
Cara, não entendi o erro, se possível cole o stack inteiro.
Mas dá pra testar o seguinte.
mude o retorno do metodo salvar para retornar uma string vazia “” (assim ele ficará na mesma pagina).
E qual é o cenário para reproduzir esse erro ? Tipo, você preenche os campos e clica em salvar ?
não fez nada de diferente ?
[]'s
Aramis_Marques 18 de mai. de 2011
isso,clico em salvar e não aparece a mensagem de operação finalizada…
aparece isso:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax . servlet . ServletException : #{alunoBean.salvar}: java.lang.NullPointerException
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 : #{alunoBean.salvar}: java.lang.NullPointerException
com . sun . faces . application . ActionListenerImpl . processAction ( ActionListenerImpl . java : 107 )
javax . faces . component . UICommand . broadcast ( UICommand . java : 383 )
org . ajax4jsf . component . AjaxViewRoot . processEvents ( AjaxViewRoot . java : 186 )
org . ajax4jsf . component . AjaxViewRoot . broadcastEvents ( AjaxViewRoot . java : 164 )
org . ajax4jsf . component . AjaxViewRoot . processApplication ( AjaxViewRoot . java : 352 )
com . sun . faces . lifecycle . InvokeApplicationPhase . execute ( InvokeApplicationPhase . java : 97 )
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 )
org . ajax4jsf . webapp . BaseXMLFilter . doXmlFilter ( BaseXMLFilter . java : 141 )
org . ajax4jsf . webapp . BaseFilter . doFilter ( BaseFilter . java : 281 )
root cause
javax.faces.el.EvaluationException: java.lang.NullPointerException
javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:91)
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
javax.faces.component.UICommand.broadcast(UICommand.java:383)
org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:186)
org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:164)
org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:352)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
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)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
root cause
java . lang . NullPointerException
controle . AlunoBean . salvar ( AlunoBean . java : 30 )
sun . reflect . NativeMethodAccessorImpl . invoke0 ( Native Method )
sun . reflect . NativeMethodAccessorImpl . invoke ( NativeMethodAccessorImpl . java : 57 )
sun . reflect . DelegatingMethodAccessorImpl . invoke ( DelegatingMethodAccessorImpl . java : 43 )
java . lang . reflect . Method . invoke ( Method . java : 616 )
org . apache . el . parser . AstValue . invoke ( AstValue . java : 191 )
org . apache . el . MethodExpressionImpl . invoke ( MethodExpressionImpl . java : 276 )
org . apache . jasper . el . JspMethodExpression . invoke ( JspMethodExpression . java : 68 )
javax . faces . component . MethodBindingMethodExpressionAdapter . invoke ( MethodBindingMethodExpressionAdapter . java : 77 )
com . sun . faces . application . ActionListenerImpl . processAction ( ActionListenerImpl . java : 91 )
javax . faces . component . UICommand . broadcast ( UICommand . java : 383 )
org . ajax4jsf . component . AjaxViewRoot . processEvents ( AjaxViewRoot . java : 186 )
org . ajax4jsf . component . AjaxViewRoot . broadcastEvents ( AjaxViewRoot . java : 164 )
org . ajax4jsf . component . AjaxViewRoot . processApplication ( AjaxViewRoot . java : 352 )
com . sun . faces . lifecycle . InvokeApplicationPhase . execute ( InvokeApplicationPhase . java : 97 )
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 )
org . ajax4jsf . webapp . BaseXMLFilter . doXmlFilter ( BaseXMLFilter . java : 141 )
org . ajax4jsf . webapp . BaseFilter . doFilter ( BaseFilter . java : 281 )
note The full stack trace of the root cause is available in the Apache Tomcat / 6.0 . 32 logs .
alex.brito 18 de mai. de 2011
Então cara, faça o teste retornando uma string vazia ao invés de null. Outra coisa é, qual é o escopo do seu bean ?? alunoBean ???
[]'s
Aramis_Marques 19 de mai. de 2011
Tentei retornar a strng vazia,não deu certo,acho que tem que mudar esse action ai…
alex.brito 19 de mai. de 2011
então, dando uma olhada no stack encontrei esse trecho
você chegou a debugar esse metodo calcular ??? Voce consegue realmente obter a Session e a Transaction ???
[]'s