Adamastor, vamos lá.
Primeiro de tudo, esqueça tudo o que aprendeu sobre request, response, action do formulário, e submit que você aprendeu lá no PHP, asp, jsp e afins. Em jsf, o esquema de submissão de formulário é bem diferente de tudo que você já viu.
Basicamente, o menaged bean (mb) é o cara que resolve tudo. Ele representa o seu formulário, e tem dentro dele o bean da sua camada de persistência. Na tag de submit do formulário, você precisa acionar um método do mb onde está a ação a ser realizada e mais a regra de navegação que define para que página o sistema deverá ser encaminhado, como neste exemplo abaixo. Repare que, na chamada do mb, o método não tem os parênteses - "meuMB.faz" e não "meuMB.faz()", o que significa que os métodos do mb NÃO ACEITAM PARÂMETROS:
código de "paginaAtual.xhtml"
<h:commandLink id="teste" action="meuMB.faz" >
<h:graphicImage id="finalizaRetorna" url="/logotipo.jpg"/>
</h:commandLink>
Já no código do menaged bean, o método de submissão de formulário - faz() - precisa necessariamente retornar uma String, que é uma saída para a regra de navegação defenida em faces-config.xml. Esta saída é conhecida como "outcome", e nós a entenderemos a seguir. Segue o código de MeuMB.java:
public String faz(){
//aqui você define o que tem que ser feito, exemplo: aciona os daos que passarão os dados do formulário para o banco
return "redireciona"; //"redireciona" é a saída (ou outcome) do seu método de submissão deste formulário
}
pronto, agora só falta colocar a regra de navegação no faces-config.xml. Lá você definirá uma página para o sistema redirecionar, após retornar o outcome "redireciona":
<navigation-rule>
<from-view-id>/paginaAtual.xhtml</from-view-id>
<navigation-case>
<from-outcome>redireciona</from-outcome>
<to-view-id>/paginaSeguinte.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
Aqui você definiu que, para paginaAtual, toda vez que um método retornar o outcome "redireciona", deverá ser redirecionado para "paginaSeguinte.xhtml". Desta forma, você pode inclusive definir que a página possa ser direcionada para páginas diferentes, mediante determinadas condições. Ex: se o usuário optou pagamento por cartão, redireciona para a página de cartões; se ele optou por pagamento via boleto, abre a página de boleto.
public String faz(){
if(usuarioSelecionouCartao)
return "cartao";
else if(usuarioSelecionouBoleto)
return "boleto";
}
e no faces-config:
<navigation-rule>
<from-view-id>/paginaAtual.xhtml</from-view-id>
<navigation-case>
<from-outcome>cartao</from-outcome>
<to-view-id>/paginaCartao.xhtml</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>boleto</from-outcome>
<to-view-id>/paginaBoleto.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
Espero que isso ajude você.