Como chamar um método que recebe um objeto através de um <h:commandButton?

Minha aplicação trabalho com JSF + Hibernate, preciso chamar o método salvar do meu Bean através de um <h:commandButton…so que preciso enviar um objeto na chamada do método.

JSF:

        <h:form>
            <h:panelGrid columns="2" border="0">
                    <h:outputText value="Nome:"/>
                    <h:inputText value="#{contato.nome}" size="40" />
                    <h:outputText value="Login:"/>
                    <h:inputText value="#{contato.login}" size="15" />
                    <h:outputText value="Senha:"/>
                    <h:inputText value="#{contato.senha}" size="15" />
            </h:panelGrid>
            <h:commandButton action="#{agenda.salvar}" value="Enviar" >
            </h:commandButton>
            <h:commandLink action="#{agenda.voltar}" value="Voltar"/>
        </h:form></center>

Bean:

public void salvar(UsuarioAnnotations contato) {
		Session sessao = null;
		Transaction transacao = null;
		try {
			sessao = HibernateUtil.getSessionFactory().openSession();
			transacao = sessao.beginTransaction();
			sessao.save(contato);
			transacao.commit();
		} catch (HibernateException e) {
			System.out.println("Não foi possível inserir o usuario. Erro: " + e.getMessage());
		} finally {
			try {
				sessao.close();
			} catch (Throwable e) {
				System.out.println("Erro ao fechar operação de inserção. Mensagem: " + e.getMessage());
			}
		}
	}

preciso chamar o método salvar(UsuarioAnnotations contato) que irá receber o obj. contato, porém não sei como fazer para setar o objeto…<h:commandButton action="#{agenda.salvar}" value=“Enviar” >

Rapaz, o modo mais simples aí é você adicionar contato como atributo do seu managed bean, algo do tipo.

//...
<h:inputText value="#{agenda.contato.nome}" size="40" />  
//...

No seu método, você não recebe esse parâmetro e usa sua variável de instância.

Aplicação Web Completa Tomcat JSF Primefaces JPA Hibernate

Aqui tem um modo de como fazê-lo. [=

Já tentou assim:

<h:commandButton action="#{agenda.salvar(contato)}" value="Enviar" >

Mas acredito que a forma mais simples realmente é a que o luksrn disse.