Paginação JSF - Mudar de uma pagina para outra

Boa noite

Preciso fazer uma paginação em uma aplicação JSF que eu estou fazendo e preciso também transportar dados de uma pagina para outra. Ex:

LAENDER > Editar

No caso LAENDER deve ser enviado para uma pagina de edição levando todos os seus dados para que os mesmos possam ser editados.
Não estou conseguindo mudar de uma pag para outra, tão pouco consigo levar os dados de uma para outra.

Estou utilizando Netbeans JSF2.1 e PrimeFace.

Desde já, grato.[code]<?xml version='1.0' encoding='UTF-8' ?>

Facelet Title Id:#{opicoes.id} Nome:#{opicoes.nome} Idade:#{opicoes.idade}


        </h:form>
    </p:panelGrid>
    Hello from Facelets
</h:body>

[/code]

[code]/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */
    package Dao;

import Model.Cliente;
import Util.HibernateUtil;
import java.io.IOException;
import java.io.Serializable;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import org.hibernate.Session;
import org.hibernate.Transaction;

/**
*

  • @author LAENDER
    */
    @ManagedBean(name = “daoCliente”)
    @SessionScoped
    public class DaoCliente implements Serializable{

    public Cliente recursos;

    Session s = HibernateUtil.getSessionFactory().getCurrentSession();
    Transaction t;

    public Cliente getSeleciona(){
    if(recursos == null){
    recursos = new Cliente();
    // item = - 1;

     }
     return recursos;
    

    }

    public String save(){
    Session s = HibernateUtil.getSessionFactory().getCurrentSession();
    Transaction t = s.beginTransaction();
    s.save(recursos);
    t.commit();
    s.close();
    return “Create”;
    }

    public String update(){

     Session s = HibernateUtil.getSessionFactory().getCurrentSession();
     Transaction t = s.beginTransaction();
     s.update(recursos);
     t.commit();
     s.close();
    
     return "editar.xhtml";
    

    }

    public Cliente getCliente(int id){
    Session s = HibernateUtil.getSessionFactory().getCurrentSession();
    return (Cliente) s.load(Cliente.class, id);

    }

    public void remove(Cliente cliente){
    Session s = HibernateUtil.getSessionFactory().getCurrentSession();
    Transaction t = s.beginTransaction();
    s.delete(cliente);
    t.commit();
    s.close();
    }

    public List list() {
    Session s = HibernateUtil.getSessionFactory().getCurrentSession();
    Transaction t = s.beginTransaction();
    List lista = s.createQuery(“from Cliente”).list();
    t.commit();
    return lista;
    }

    public String exibirLista(){
    List list = list();
    String listando= “”;
    for(Cliente c : list){
    listando += c.getId()+c.getNome()+c.getIdade();

            }
     return listando;
    

    }

    public String preparaEdicao(){
    try {
    FacesContext.getCurrentInstance().getExternalContext().redirect(“editar.xhtml”);
    } catch (IOException ex) {
    Logger.getLogger(DaoCliente.class.getName()).log(Level.SEVERE, null, ex);
    }
    return “editar.xhtml”;

    }

}
[/code]

Não se entendi direito.

Para alterar a página pode ser por pages rules (http://www.jsftutorials.net/jsf-navigation-by-examples.html).

Para acessar os dados configure o bean como session e pode pegar os dados dele na outra página.

Fala rapaziada!!!

É o seguinte, com relação a naveção de página , veja que no seu h:commandLink vc esta utilizando o atributo actionListener, que serve para alterar os estados de um objeto na mesma sessão, para realizar ações e navegações entre páginas se utiliza o action, desta formar:

<h:commandLink action="#{daoCliente.preparaEdicao}" value="Editar" /> 

Man, você conseguiu mudar de página e permanecer o mesmo Id? Por favor me ajude