Action commandButton JSF

3 respostas
edao69

Boa noite a todos!
Tem um errro que esta tirando meu sono com o jsf! e procurei no grupo e na net e nada a respeito deste erro !

trata-se do seguinte erro

javax.servlet.ServletException: Error calling action method of component with id _idJsp0:_idJsp4
javax.faces.webapp.FacesServlet.service(FacesServlet.java:154)

isso ocorre no momento do clique para salvar uma determinada entidade minha!

a classe de entidade é um normal Vo

@Entity

public class Usuario {

/**

* Atributos Id , Login , Senha

*/

@Id

@GeneratedValue

private Long id;

private String login;

private String senha;

private String role;

getters e setters

}

meu metodo que salva esta em outro arquivo

public void adiciona(Usuario usuario) {

daoFactory.beginTransaction();
	daoFactory.getUsuarioDao().adiciona(usuario);
	daoFactory.commit();
}

depois de maper no faces-config os managed beam do usuario e da logica de persistencia
no meu action eu chamo o seguinte metodo …

<h:form>
Login: <h:inputText value="#{usuario.login}"></h:inputText>
Senha: <h:inputText value="#{usuario.senha}"></h:inputText>
<h:commandButton action="#{usuarioLogic.adiciona}" value=“gravar dados” />

</h:form>

alguem sabe o porque do erro !!

grato pela atenção

t+
[]'s

3 Respostas

DirceuSobrinho

Olá, vamos lá!!

na sua classe UsuarioLogic declare um objeto Usuário e faça as seguintes alterações no método adicionar

public class UsuarioLogic{

 private Usuario usuario = new Usuario();
 //getters and setters

 public String adiciona(){
   try{
      daoFactory.beginTransaction();
      daoFactory.getUsuarioDao().adiciona(this.usuario)
      daoFactory.commiy();
   }catch(Exception e){
      return "error";
   }
   return "sucesso";
 }

e na pagina web as seguintes alterações:

<h:form>
Login: <h:inputText value="#{usuarioLogic.usuario.login}"></h:inputText>
Senha: <h:inputText value="#{usuarioLogic.usuario.senha}"></h:inputText>
<h:commandButton action="#{usuarioLogic.adiciona}" value=“gravar dados” />

</h:form>

edao69

opa beleza!

vou fazer os testes aqui!

grato pela força!!

t+

edao69

mudei o que me ensinou e olha o que me apareceu quando executei a pagina

[b]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: javax.faces.FacesException: Could not retrieve value of component with path : {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /teste.jsp][Class: javax.faces.component.html.HtmlForm,Id: _idJsp0][Class: javax.faces.component.html.HtmlInputText,Id: _idJsp1]}
javax.faces.webapp.FacesServlet.service(FacesServlet.java:154)

root cause

javax.faces.FacesException: javax.faces.FacesException: Could not retrieve value of component with path : {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /teste.jsp][Class: javax.faces.component.html.HtmlForm,Id: _idJsp0][Class: javax.faces.component.html.HtmlInputText,Id: _idJsp1]}

org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:425)

org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:211)

org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)

org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132)

javax.faces.webapp.FacesServlet.se[/b]rvice(FacesServlet.java:140)

mas muito obrigado pela ajuda!
vou ficar tentando resolver

Criado 15 de março de 2008
Ultima resposta 15 de mar. de 2008
Respostas 3
Participantes 2