Método de um bean não é chamado ao clicar no botão de comando

Pessoal,

Estou desenvolvendo um pequeno aplicativo de cadastro e manutenção de usuários. Após o login, tenho um menu com várias opções, utilizando a tag “<h:outputLink>”.
Ao selecionar a opção “Consultar Usuário”, surge uma página contendo um campo de texto com o nome do usuário a ser consultado e um botão de comando.
Eu preencho o nome do usuário mas, ao clicar no botão de comando, o método que executa a tarefa de consultar o usuário não está sendo executado
Tentei colocar um comando “System.out.println…” dento do método de consulta para ver se o mesmo está sendo chamado, mas a mensagem não é exibida.
Arquivo faces.config.xml

  <?xml version="1.0"?>
<faces-config xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
        http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
	version="1.2">
	
<application>
    <resource-bundle>
		<base-name>messages</base-name>
		<var>msg</var>
	</resource-bundle>
	<locale-config>
		<default-locale>pt_BR</default-locale>
		<supported-locale>en_US</supported-locale>
	</locale-config>
</application>
<managed-bean>
	<managed-bean-name>loginForm</managed-bean-name>
	<managed-bean-class>beans.LoginFormBean</managed-bean-class>
	<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<managed-bean>
	<managed-bean-name>UsuarioBean</managed-bean-name>
	<managed-bean-class>beans.UsuarioBean</managed-bean-class>
	<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<navigation-rule>
	<from-view-id>/login.jsp</from-view-id>
	<navigation-case>
		<from-outcome>menu</from-outcome>
		<to-view-id>/menu.jsp</to-view-id>
	</navigation-case>
</navigation-rule>
<navigation-rule>
	<from-view-id>/login.jsp</from-view-id>
	<navigation-case>
		<from-outcome>falha</from-outcome>
		<to-view-id>/erro_login.jsp</to-view-id>
	</navigation-case>
</navigation-rule>
<navigation-rule>
	<from-view-id>/cadastraUsuario.jsp</from-view-id>
	<navigation-case>
		<from-outcome>sucesso</from-outcome>
		<to-view-id>/sucesso_cadastro.jsp</to-view-id>
	</navigation-case>
</navigation-rule>
<navigation-rule>
	<from-view-id>/cadastraUsuario.jsp</from-view-id>
	<navigation-case>
		<from-outcome>falha</from-outcome>
		<to-view-id>/erro_cadastro.jsp</to-view-id>
	</navigation-case>
</navigation-rule>
<navigation-rule>
	<from-view-id>/consultaUsuario.jsp</from-view-id>
	<navigation-case>
		<from-outcome>sucesso</from-outcome>
		<to-view-id>/exibeUsuario.jsp</to-view-id>
	</navigation-case>
</navigation-rule>
<navigation-rule>
	<from-view-id>/consultaUsuario.jsp</from-view-id>
	<navigation-case>
		<from-outcome>falha</from-outcome>
		<to-view-id>/erro_consulta.jsp</to-view-id>
	</navigation-case>
</navigation-rule>
</faces-config>

Página consultaUsuario.jsp

  <%@taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!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">
<head>
<title>WebUserManager - Consulta de Usuário</title>
</head>
<body>
	<f:view>
        <h:outputText value="WebUserManager - Consulta de Usuario" />
        <br />
		<br />
		<h:panelGrid columns="1">
			<h:outputText value="Entre com o nome do usuário a ser pesquisado" />
			<br />
			<h:outputText value="Nome :"></h:outputText>
			<h:inputText value="#{UsuarioBean.nome}"></h:inputText>
			<br />
			<h:commandButton type="submit" value="Enviar" action="#{UsuarioBean.consultaUsuarioBean}"/>
			<br />
		    <br />
		</h:panelGrid>		
		<h:outputLink value = "menu.jsf">
			<h:outputText value="< Voltar" />
		</h:outputLink>
		<br />
		<br />
		<h:outputLink value = "login.jsf">
			<h:outputText value="< Sair" />
		</h:outputLink>
	</f:view>
</body>
</html>

Classe UsuarioBean

package beans;

import java.util.ArrayList;
import java.util.List;
import model.Usuario;
import dao.UsuarioDAO;

public class UsuarioBean {
	
	private String cpf;
	private String nome;
	private String senha;
	private String confirmaSenha;
	private String emailPrincipal;
	private String emailAlternativo;
	private String telefone;
	private String perfil;
	private String status;
	private String retorno="";
	
	public UsuarioBean() {
	}
	
	// metodos get() e set()
        /* ...  */
	
	// metodo validaSenha
	public String validaSenha() {
		
		if ( this.senha.equals(this.confirmaSenha )) {
			
			Usuario meuUsuario = new Usuario();
			meuUsuario.setCpf(this.cpf);
			meuUsuario.setNome(this.nome);
			meuUsuario.setSenha(this.senha);
			meuUsuario.setConfirmaSenha(this.confirmaSenha);
			meuUsuario.setEmailPrincipal(this.emailPrincipal);
			meuUsuario.setEmailAlternativo(this.emailAlternativo);
			meuUsuario.setTelefone(this.telefone);
			meuUsuario.setPerfil(this.perfil);
			//meuUsuario.setStatus(this.status);
			
			UsuarioDAO meuDao = new UsuarioDAO();
			meuDao.insereUsuarioDAO(meuUsuario);
			
			this.retorno = "sucesso";
		
		} else {
			
			this.retorno = "falha";
		}
		
		return retorno;
	}

	// metodo ConsultaUsuarioBean
	public String ConsultaUsuarioBean() {
		
		System.out.println("Entrei no metodo ConsultaUsuarioBean");
		UsuarioDAO outroDao = new UsuarioDAO();
		Usuario u2 = outroDao.consultaUsuarioDAO(this.nome);
		
		if (!u2.getNome().equals(this.nome)) {
			
			this.retorno = "falha";
			
		} else {
			
			this.retorno = "sucesso";
			this.nome = u2.getNome();
			this.cpf = u2.getCpf();
			this.emailPrincipal = u2.getEmailPrincipal();
			this.emailAlternativo = u2.getEmailAlternativo();
			this.telefone = u2.getTelefone();
			this.perfil = u2.getPerfil();
			
		}
		
		return retorno;
	    
	}

	// metodo getListaUsuarioBean
	public List<UsuarioBean> getlistaUsuarioBean() {
		
		List<UsuarioBean> listaBean = new ArrayList<UsuarioBean>();
	
		Usuario u1 = new Usuario();
		listaBean = u1.listaUsuario();
		
		return listaBean;
	}
	
} 

Classe Usuario

  package model;

import java.util.List;
import java.util.ArrayList;
import beans.UsuarioBean;
import dao.UsuarioDAO;

public class Usuario {
	
	private String cpf;
	private String nome;
	private String senha;
	private String confirmaSenha;
	private String emailPrincipal;
	private String emailAlternativo;
	private String telefone;
	private String perfil;
	private String status;
	
	public Usuario() {
		
	}
	
	// metodos get e set 
        /* ... */
	
	public List<UsuarioBean> listaUsuario() {
		
		List<UsuarioBean> listaBean = new ArrayList<UsuarioBean>();
		List<Usuario> listaUsuario = new ArrayList<Usuario>();
	
		UsuarioDAO dao1 = new UsuarioDAO();
		listaUsuario = dao1.listaUsuarioDAO();
		
		for (int i = 0; i < listaUsuario.size(); i++ ) {
			
			UsuarioBean meuBean = new UsuarioBean();
			
			meuBean.setCpf( listaUsuario.get(i).getCpf() );
			meuBean.setNome( listaUsuario.get(i).getNome() );
			meuBean.setEmailPrincipal( listaUsuario.get(i).getEmailPrincipal() );
			meuBean.setEmailAlternativo( listaUsuario.get(i).getEmailAlternativo() );
			meuBean.setTelefone( listaUsuario.get(i).getTelefone() );
			meuBean.setPerfil( listaUsuario.get(i).getPerfil() );
			
			listaBean.add(meuBean);
			
		}
			  
		return listaBean;
	}

}

Classe UsuarioDao

package dao;

import model.Usuario;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.List;
import java.util.ArrayList;

import javax.servlet.jsp.jstl.sql.Result;
import javax.servlet.jsp.jstl.sql.ResultSupport;


public class UsuarioDAO {
	
	public void insereUsuarioDAO(Usuario u) {
		
		Connection conexao = null;
		ConectaMySQL con1 = new ConectaMySQL();
	
		String sql = "INSERT INTO tb_usuario (usuario_cpf, usuario_nome, usuario_senha, usuario_confsenha, " +
        "usuario_emailprinc, usuario_emailalter, usuario_telefone, " + "usuario_perfil" 
        + ") VALUES (?,?,?,?,?,?,?,?)";
			                 
		conexao = con1.obtemConexao();
		
		try {
			
			PreparedStatement pstmt = conexao.prepareStatement(sql);
			pstmt.setString(1, u.getCpf());  
			pstmt.setString(2, u.getNome());  
			pstmt.setString(3, u.getSenha());  
			pstmt.setString(4, u.getConfirmaSenha());  
			pstmt.setString(5, u.getEmailPrincipal());  
			pstmt.setString(6, u.getEmailAlternativo());  
			pstmt.setString(7, u.getTelefone());  
			pstmt.setString(8, u.getPerfil());  
			pstmt.executeUpdate();
			
		} catch (SQLException e) {
			
			e.printStackTrace();
		} finally {
			
			con1.fechaConexao();
		}
			    		    
	}
	
	public void alteraUsuarioDAO(Usuario u) {
		
	}
	
	public void removeUsuarioDAO(Usuario u) {
		
	}

	public Usuario consultaUsuarioDAO(String nomePesq) {
		
		String cpf;
		String nome;
		String emailPrinc;
		String emailAlter;
		String telefone;
		String perfil; 
		Connection conexao = null;
		ConectaMySQL con1 = new ConectaMySQL();
		ResultSet rs;
		PreparedStatement pstmt;
		
		String sql_cons = "select usuario_cpf, usuario_nome, usuario_emailprinc, usuario_emailalter, usuario_telefone, usuario_perfil " +
						  " from tb_usuario where usuario_nome = ?";
		
		conexao = con1.obtemConexao();
		
		Usuario u1 = new Usuario();
		
		try {
			
			pstmt = conexao.prepareStatement(sql_cons);
			pstmt.setString(1, nomePesq); 
			rs = pstmt.executeQuery();
			
			while ( rs.next() ) {
				
				
				nome = rs.getString(2);
			
				if (nome.equals(null)) {
					
					System.out.println("Usuario não encontrado");
					
					u1 = null;
				}
				else {
									 			
					cpf = rs.getString(1);
					emailPrinc = rs.getString(3);
					emailAlter = rs.getString(4);
					telefone = rs.getString(5);
					perfil = rs.getString(6); 
					
					u1.setCpf(cpf);
					u1.setNome(nome);
					u1.setEmailPrincipal(emailPrinc);
					u1.setEmailAlternativo(emailAlter);
					u1.setTelefone(telefone);
					u1.setPerfil(perfil); 
					
				}	
		
			}
			
			rs.close();
			pstmt.close();
			
		} catch (SQLException e) {
			
			e.printStackTrace();	
		
		} finally {
			
			con1.fechaConexao();
			//rs.close();
		}  
	    
		return u1;

	}	
	
	public List<Usuario> listaUsuarioDAO() {
		
		Connection conexao = null;
		ConectaMySQL con1 = new ConectaMySQL();
		ResultSet rs;
		PreparedStatement pstmt;
		
		List<Usuario> listaUsuario = new ArrayList<Usuario>();
		
		String sql_cons = "select usuario_cpf, usuario_nome, usuario_emailprinc, usuario_emailalter, " +
				          "usuario_telefone, usuario_perfil from tb_usuario ";
		
		conexao = con1.obtemConexao();
		
		try {
			
			pstmt = conexao.prepareStatement(sql_cons);
			rs = pstmt.executeQuery();
			
			while (rs.next() ) {
				
				Usuario u2 = new Usuario();
				
				u2.setCpf(rs.getString(1));
				u2.setNome(rs.getString(2));
				u2.setEmailPrincipal(rs.getString(3));
				u2.setEmailAlternativo(rs.getString(4));
				u2.setTelefone(rs.getString(5));
				u2.setPerfil(rs.getString(6));
				
				listaUsuario.add(u2);
				
			}
			
		} catch (SQLException e) {
			
			e.printStackTrace();	
		
		} finally {
			
			rs = null;
			pstmt = null;			
			desalocaRecursos(pstmt, rs);
			con1.fechaConexao();
			
		}  	
		
		return listaUsuario;
		
	} 
	
public Result getAll() throws SQLException{
		
		Connection conexao = null;
		ConectaMySQL con1 = new ConectaMySQL();
		ResultSet rs;
		PreparedStatement pstmt;
		Result resultado;
		
		String sql_cons = "select usuario_cpf, usuario_nome, usuario_emailprinc, usuario_emailalter, " +
				          "usuario_telefone, usuario_perfil from tb_usuario ";
		
		conexao = con1.obtemConexao();
		
		try {
			
			pstmt = conexao.prepareStatement(sql_cons);
			rs = pstmt.executeQuery();
			
			resultado = ResultSupport.toResult(rs);
			return resultado;
		
		} finally {
			
			rs = null;
			pstmt = null;
			
			desalocaRecursos(pstmt, rs);
			con1.fechaConexao();
		}  	
		
	} 
	
	private void desalocaRecursos(PreparedStatement pstmt1, ResultSet rs1) {
		
		try {
			
			if (rs1 != null ) {
				rs1.close();
			}
			
			if (pstmt1 != null) {	
				pstmt1.close();
				
			}
			
		} catch (SQLException e) {
			
			e.printStackTrace();
		}
		
	}
		
}

Ainda não cosegui entencer porque o método de ConsultaUsuarioBean não está sendo executado.
Será que alguém poderia me ajudar ?
Agradece,

Max

Mas cadê a área do form?

Era a falta da tag.

Obrigado.

[]'s
Max