Botao editar dentro do datatable jsf

Boa tarde coloquei um link de edição dentro do datatable usando primefaces porém, qdo clico neste link a página não é direcionada para a tela de manutencao
o grid simplesmente some com os registros.

o código está assim caso alguém possa me ajudar valeu.

<p:dataTable id="grid"   
   var="pessoa"
   value="#{pessoaLista.pessoas}"   
   paginator="true"   
   rows="5"    
   rowsPerPageTemplate="5,100,1500"   
   paginatorPosition="bottom"   
   emptyMessage="Nenhum registro localizado.">  
  
    <p:column width="30" resizable="true" headerText="Id"> 
   <h:outputText value="#{pessoa.id}" />  
    </p:column>  
  
    <p:column headerText="Nome">  
   <f:facet name="header">  
  <h:outputText value="Nome" />  
   </f:facet>  
   <h:outputText value="#{pessoa.nome}" />  
    </p:column>  
  
    <p:column style="width:4%">   
   <p:commandLink  id="btnEditar" action="#{pessoaLista.editar()}" ajax="false" title="Editar">   
  <h:graphicImage  value="/resources/images/delete.png" />  
  <f:setPropertyActionListener value="#{pessoaBean.pessoa}" target="#{pessoa}" />   
   </p:commandLink>   
  
  
    </p:column>    
</p:dataTable>  

o bean para listar

@ManagedBean
public class PessoaLista {

    private String term;
    private String campoPesquisa;
    private List<Pessoa> pessoas = new ArrayList<Pessoa>();
    private PessoaDao dao = new PessoaDao();
    private Pessoa pessoaSelecionada = new Pessoa();

    public String getCampoPesquisa() {
        return campoPesquisa;
    }

    public void setCampoPesquisa(String campoPesquisa) {
        this.campoPesquisa = campoPesquisa;
    }

    public String getTerm() {
        return term;
    }

    public void setTerm(String term) {
        this.term = term;
    }

    public void pessoasByFilter() {
        if (term == null) {
            this.pessoas = new ArrayList<Pessoa>();
        }
        this.pessoas = dao.getPessoasByFilter(term);
    }

    public List<Pessoa> getPessoas() {
        return pessoas;
    }

    public void setPessoas(List<Pessoa> pessoas) {
        this.pessoas = pessoas;
    }

    public Pessoa getPessoaSelecionada() {
        return pessoaSelecionada;
    }

    public void setPessoaSelecionada(Pessoa pessoaSelecionada) {
        this.pessoaSelecionada = pessoaSelecionada;
    }
    
    public String editar(){
        return "manutencao.xhtml";        
    }
    
}

Boa tarde amigão tudo bom?
Então vamos la estava olhando seu código e reparei que seu editar simplesmente estava retornando outra pagina.
Segue ai um exemplo de edição.
Managed Bean

@ManagedBean  
public class PessoaLista {  
  
    private String term;  
    private String campoPesquisa;  
    private List<Pessoa> pessoas = new ArrayList<Pessoa>();  
    private PessoaDao dao = new PessoaDao();  
    private Pessoa pessoaSelecionada = new Pessoa();  
  
    public String getCampoPesquisa() {  
        return campoPesquisa;  
    }  
  
    public void setCampoPesquisa(String campoPesquisa) {  
        this.campoPesquisa = campoPesquisa;  
    }  
  
    public String getTerm() {  
        return term;  
    }  
  
    public void setTerm(String term) {  
        this.term = term;  
    }  
  
    public void pessoasByFilter() {  
        if (term == null) {  
            this.pessoas = new ArrayList<Pessoa>();  
        }  
        this.pessoas = dao.getPessoasByFilter(term);  
    }  
  
    public List<Pessoa> getPessoas() {  
        return pessoas;  
    }  
  
    public void setPessoas(List<Pessoa> pessoas) {  
        this.pessoas = pessoas;  
    }  
  
    public Pessoa getPessoaSelecionada() {  
        return pessoaSelecionada;  
    }  
  
    public void setPessoaSelecionada(Pessoa pessoaSelecionada) {  
        this.pessoaSelecionada = pessoaSelecionada;  
    }  
      
    public String editar(Pessoa pessoa){
        pessoaSelecionada = pessoa;  
        return "manutencao.xhtml";          
    }  
      
}  

XHTML

   <p:dataTable id="grid"     
   var="pessoa"  
   value="#{pessoaLista.pessoas}"     
   paginator="true"     
   rows="5"      
   rowsPerPageTemplate="5,100,1500"     
   paginatorPosition="bottom"     
   emptyMessage="Nenhum registro localizado.">    
    
    <p:column width="30" resizable="true" headerText="Id">   
   <h:outputText value="#{pessoa.id}" />    
    </p:column>    
    
    <p:column headerText="Nome">    
   <f:facet name="header">    
  <h:outputText value="Nome" />    
   </f:facet>    
   <h:outputText value="#{pessoa.nome}" />    
    </p:column>    
    
    <p:column style="width:4%">     
   <p:commandLink  id="btnEditar" action="#{pessoaLista.editar(pessoa)}" ajax="false" title="Editar">     
  <h:graphicImage  value="/resources/images/delete.png" />    
  <f:setPropertyActionListener value="#{pessoaBean.pessoa}" target="#{pessoa}" />     
   </p:commandLink>     
    
    
    </p:column>      
</p:dataTable>    

voce tem que setar algum registro para edita-lo.

Obrigado, deu certo.