Hebert_Coelho 16 de nov. de 2011
Seu método espera um parametro cadastrarUsuario(Usuario usr).
e na chamada do método você chama o método sem passar parametro #{usuario.cadastrarUsuario}.
Marcio_Nogueira 16 de nov. de 2011
Como assim? Poderia dar um exemplo de como implementar?
Hebert_Coelho 16 de nov. de 2011
#{usuario.cadastrarUsuario(usuario)}
Mas você tem que estar utilizando jsf 2.0.
Não sei se com JSP no JSF 2.0 funcionaria.
Marcio_Nogueira 16 de nov. de 2011
Gerou o seguinte erro:
The function cadastrarUsuario must be used with a prefix when a default namespace is not specified
Hebert_Coelho 16 de nov. de 2011
[quote=Marcio_Nogueira]Gerou o seguinte erro:
The function cadastrarUsuario must be used with a prefix when a default namespace is not specified
Pode ser então que com JSP não funciona.
Marcio_Nogueira 16 de nov. de 2011
Meu jsp funciona, o probema está na execução do método.
Hebert_Coelho 16 de nov. de 2011
Então não funciona!
Vc tem que enviar o obj usuario, então você retira o usuario de ser como parametro do metodo e depois utilizar um desses métodos aqui. http://balusc.blogspot.com/2006/06/communication-in-jsf.html
Marcio_Nogueira 16 de nov. de 2011
Fiz a seguinte alteração no método:
public void cadastrarUsuario (){
Facade f = new Facade ();
Usuario usr = new Usuario ();
usr . setUsuario ( usuario );
usr . setSenha ( senha );
f . cadastrarUsuario ( usr );
}
Marcio_Nogueira 17 de nov. de 2011
O problema é que meu método não é reconhecido, o mesmo está da seguinte forma:
public void cadastrarUsuario ( ActionEvent event ){
usr = new Usuario ();
f = new Facade ();
usr . setUsuario ( usuario );
usr . setSenha ( senha );
f . cadastrarUsuario ( usr );
}
Hebert_Coelho 17 de nov. de 2011
Marcio_Nogueira:
O problema é que meu método não é reconhecido, o mesmo está da seguinte forma:
public void cadastrarUsuario ( ActionEvent event ){
usr = new Usuario ();
f = new Facade ();
usr . setUsuario ( usuario );
usr . setSenha ( senha );
f . cadastrarUsuario ( usr );
}
Cara, ActionEvent event vc utilziar quando seu método é um actionListener.
Estuda o básico de JSF. No link que eu te mostrei tem um monte de exemplo de como enviar parametros.
Marcio_Nogueira 18 de nov. de 2011
Andei estudando o link que você me enviou, porém, os exemplos mostrados não fpram suficientes para tirar minha dúvida.
Pelo que entendi, o atributo action é usado para navegar entre as páginas de sua aplicação, e o actionListener para executar código?
Seria algo assim ou estou errado?
Segue a chamada ao método em meu commandButton:
<h:commandButton type="submit" actionListener="#{usuario.cadastrarUsuario}" action="#{usuario.navegaSucesso}" value="Cadastrar" />
Hebert_Coelho 18 de nov. de 2011
ActionListener serve para alterar o estado de algum objeto que você necessite (geralmente componentes da tela e tal).
O Action serve para realizar a ação e encaminhar o destino da ação.