Problemas integração Java e primefaces

Bom dia Pessoal,

Eu estou tendo problemas para fazer o primefaces reconhecer um metodo java.
Quando eu clico no botão salvar, o programa deveria passar pelo meu metodo e deixar sysout escrito “teste metodo salvar” no console, contudo, nada ocorre.

Alguem pode me ajudar ?

Segue a minha classe java e o xhtm que ta com zica

Usuario.xhtml (a parte zicada é onte esta o botao salvar)

	<p:commandButton value="Salvar"  style="font-size: 12px"  update="form1,display"  
            	 actionListener="#{ManutencaoUsuario.salvar}" />  
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
        xmlns:h="http://java.sun.com/jsf/html"
        xmlns:f="http://java.sun.com/jsf/core"
        xmlns:ui="http://java.sun.com/jsf/facelets"
        xmlns:p="http://primefaces.prime.com.tr/ui">

<f:view contentType="text/html">

	<h:head>
		<f:facet name="first">
			<meta http-equiv="X-UA-Compatible" content="EmulateIE8" />
			<meta content='text/html; charset=UTF-8' http-equiv="Content-Type" />
		</f:facet>


		<link type="text/css" rel="stylesheet" href="#{request.contextPath}/resources/css/style.css" />

		<ui:insert name="head"></ui:insert>
	</h:head>

<ui:include src="menu.xhtml" />
	

 <h:form id="form1">
 		<h:panelGrid id="eventDetailsusuario" columns="2" cellpadding="3">
			<h:outputLabel for="nomeusuario" value="Nome:" />
			<p:inputText id="nomeusuario" required="true" label="nomeusuario"  styleClass="form1" 
				value="#{ManutencaoUsuario.usuarios.nome}"/>

			<h:outputLabel for="descricaousuario" value="E-mail:" />
			<p:inputText id="descricaousuario" required="true" styleClass="form1"
				label="descricaousuario" value="#{ManutencaoUsuario.usuarios.email}"/>

			<h:outputLabel for="senhausuario" value="Senha:" />
			<p:password id="senhausuario" required="true" label="senhausuario" 
				value="#{ManutencaoUsuario.usuarios.senha}"/>

			<h:outputLabel for="resenhausuario" value="Confirme a Senha:" />
			<p:password id="resenhausuario" required="true"
				label="resenhausuario" value="#{ManutencaoUsuario.usuarios.resenha}"/>

			<h:outputLabel for="datanascusuario" value="Data Nascimento:" />
			<p:calendar  value="#{ManutencaoUsuario.usuarios.dataNasc}" pattern="dd/MM/yyyy" id="datanascusuario"/>

			<h:outputLabel for="Empresausuario" value="Empresa:" />
			<p:inputText id="Empresausuario" label="Empresausuario" 
				value="#{ManutencaoUsuario.usuarios.empresa}"/>

			<h:outputLabel for="cargousuario" value="Cargo:" />
			<p:inputText id="cargousuario"  label="cargousuario" 
				value="#{ManutencaoUsuario.usuarios.cargo}"/>

			<h:outputLabel for="cidadeusuario" value="Cidade:" />
			<p:inputText id="cidadeusuario" required="true" label="cidadeusuario" 
				value="#{ManutencaoUsuario.usuarios.cidade}"/>

			<h:outputLabel for="estadousuario" value="Estado:" />
			<p:inputText id="estadousuario" required="true" label="estadousuario" style="width: 40px;"
				value="#{ManutencaoUsuario.usuarios.estado}" />
		<p:column>
			<p:commandButton value="Salvar"  style="font-size: 12px"  update="form1,display"  
            	 actionListener="#{ManutencaoUsuario.salvar}" />  
    		  
			<p:spacer width="10" height="10" />
			<p:commandButton type="reset" value="Limpar" style="font-size: 12px"/>
		</p:column>
	</h:panelGrid>
</h:form>
 </f:view>
</html>

ManutencaoUsuario.java

package br.com.dsc.bean.telaPrincipal;

import java.util.Date;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.swing.JOptionPane;

import br.com.dsc.backingBean.telaPrincipal.Usuarios;

@ManagedBean(name = "ManutencaoUsuario")
@RequestScoped
public class ManutencaoUsuario {

	private Usuarios usuarios;
	
	public ManutencaoUsuario(){

// Atribuicao para teste
		setUsuarios(new Usuarios());

		getUsuarios().setNome("Fabio Luiz Pontes");
		getUsuarios().setEmail("Fabio.lpontes@gmail.com");
		getUsuarios().setSenha("12345");
		getUsuarios().setResenha("12345");
		getUsuarios().setDataNasc(new Date());
		getUsuarios().setEmpresa("DSC Consultoria");
		getUsuarios().setCargo("Programador Java");
		getUsuarios().setCidade("São Paulo");
		getUsuarios().setEstado("SP");
		System.out.println("teste atribuicao");
	}

	public Usuarios getUsuarios() {
		return usuarios;
	}

	public void setUsuarios(Usuarios usuarios) {
		this.usuarios = usuarios;
	}

// esse metodo nao esta sendo executado .... alguem sabe pq?
	public void salvar() {
		System.out.println("teste metodo salvar");
		JOptionPane.showInputDialog("passou");
		
	}

}

Usuario.java

package br.com.dsc.backingBean.telaPrincipal;

import java.util.Date;

public class Usuarios {

	private String nome;
	private String email;
	private String senha;
	private String resenha;

	private Date dataNasc;
	// private String dataNasc;

	private String empresa;
	private String cargo;
	private String cidade;
	private String estado;

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getSenha() {
		return senha;
	}

	public void setSenha(String senha) {
		this.senha = senha;
	}

	public String getResenha() {
		return resenha;
	}

	public void setResenha(String resenha) {
		this.resenha = resenha;
	}

	public String getEmpresa() {
		return empresa;
	}

	public void setEmpresa(String empresa) {
		this.empresa = empresa;
	}

	public String getCargo() {
		return cargo;
	}

	public void setCargo(String cargo) {
		this.cargo = cargo;
	}

	public String getCidade() {
		return cidade;
	}

	public void setCidade(String cidade) {
		this.cidade = cidade;
	}

	public String getEstado() {
		return estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}

	public Date getDataNasc() {
		return dataNasc;
	}

	public void setDataNasc(Date dataNasc) {
		this.dataNasc = dataNasc;
	}

}

Cara,

no seu commandButton coloque a propriedade immediate=true e ve se funciona.

PS: vc não cofundido os conceitos, vc misturando Web com Desktop.

t+

Pra usar actionListener vc precisa mudar a assinatura do metodo salvar.

 public void salvar(ActionEvent evt) {  
        System.out.println("teste metodo salvar");  
        JOptionPane.showInputDialog("passou");  
          
    }  

Pessoal, eu tentei fazer as duas dicas e continua sem nem entrar no metodo …

Será que o xhtml não esta reconhecendo bean ?

no meu caso, eu estou usando anotation para fazer o bean…

Kd o código do MB?

Desculpa, eu nao entendi muito bem a pergunta …
Meu ManagedBean é o ManutencaoUsuario.java

para falar que essa classe é bean, eu usei o comando abaixo …
@ManagedBean(name = “ManutencaoUsuario”)
@RequestScoped

vc ja colocou um breakpoint e debugou seu codigo?

t+

[quote=alissonvla]vc ja colocou um breakpoint e debugou seu codigo?

t+[/quote]

Sim ele passa pelos metodos sets e gets, pelo metodo construtor, mas nao passa pelo metodo salvar …

cara,

da um clean no seu projeto, uma limpada no seu servidor e por favor tira isso

JOptionPane.showInputDialog("passou"); 

t+

No console do glassFish aparece o aviso abaixo . ele não tem nada a ver né ? (desculpe a ignorancia … estou começando no java agora …)

AVISO: PWC4011: Unable to set request character encoding to UTF-8 from context /testeweb, because request parameters have already been read, or ServletRequest.getReader() has already been called

tem nada haver nao.

t+

Pessoal,

Fazendo uns testes aqui eu verifiquei que a zica esta no primefaces …

eu coloquei o buttum na tela inicial e a mensagem foi printada no console normalmente.

Eu estava lendo umas materias e o primefaces ainda não é 100% estavel em relação ao JS…

Cara, tentar colocar o atributo no componente. Vai dar um request na página toda e deve chamar o evento.

ajax="false"