Parâmetros Metodo POST em JSF

Ambiente:

  • Glassfish server 4.1.1;
  • JSF 2.2
  • Primefaces 5.0

Quero passar o id de um objeto do tipo Usuário via método POST para outra página JSF para editar esse usuário, tentei assim:

index.xhtml

<p:commandLink actionListener="#{usuarioFormBean.setUser('0')}"
                           action="usuarioForm.xhmtl" value="Cadastrar"/>

usuarioFormBean.java

public void setUser(String id){
    Integer userId = Integer.parseInt(id);
    if (userId == 0){
        usuario = new Usuario();
    }else{
        usuario = usuarioDAO.getUsuarioPorId(userId);
    }
}

public void teste(){
   System.out.println(usuario.getUsuarioEmail());
}

Mas quando executo o #{usuarioFormBean.teste()} ele retorna null. Alguém tem um exemplo de como passar o id de um objeto da pagina 1 via POST para o Bean de edição da página 2?

---------->Edit 1

também já tentei isso:

index.xhtml

<p:commandLink value="Cadastrar" action="usuarioForm.xhtml">
   <f:param name="usuarioId" value="0"/>
</p:commandLink>

usuarioForm.xhtml

<f:metadata>
   <f:viewParam name="usuarioId" value="#{usuarioFormBean.usuarioId}"/>
</f:metadata>

usuarioFormBean.java

private String usuarioId;

public String getUsuarioId() {
   return usuarioId;
}

public void setUsuarioId(String usuarioId) {
   this.usuarioId = usuarioId;
}

Mas também retorna null =(

1 curtida