Como fazer uma alteração no jsf

Bom dia a todos

Estou com muita dificuldade neste projeto, criei uma “dataTable” para pegar dados do banco, ao criar um “commandButton” com o intuito de “alterar” os dados da tabela, usei o atributo “action” para enviar um objeto como parâmetros para a classeBen, áte consigo recuperar o objeto porém quanto tento setar este objeto em um “inputText” para realizar a alteração do mesmo , simplesmente não funciona.

o Xhtml

<h:form id=“cadastroPessoa”>
<p:fieldset >
<h:panelGrid columns=“3” id=“teste” >

			<p:outputLabel value="name:" />
			<p:inputText value="#{listaPessoaBean.pessoa.name}" 
				id="name" />
			<p:message for="name" id="messagename" />

			<p:outputLabel value="Email:" />
			<p:inputText value="#{pessoaBean.pessoa.email}" 
				id="email" />
			<p:message for="email" id="messageemail" />

			<p:outputLabel value="Telefone:" />
			<p:inputText value="#{pessoaBean.pessoa.numeroTelefone}"
				 id="telefone" />
			<p:message for="telefone" id="messagetelefone" />
			
			<p:outputLabel value="Logradouro:" />
			<p:inputText value="#{pessoaBean.endereco.logradouro}"
				 id="logradouro" />
			<p:message for="logradouro" id="messagelogradouro" />

			<p:outputLabel value="CEP:" />
			<p:inputText value="#{pessoaBean.endereco.cep}" 
				id="cep" />
			<p:message for="cep" id="messagecep" />

			<p:outputLabel value="N °:" />
			<p:inputText value="#{pessoaBean.endereco.numeroLocalidade}"
				 id="n" />
			<p:message for="n" id="messagen" />


				<p:commandButton value="Salvar fomulario"
				action="#{pessoaBean.salvarFomulario}" update="@form"
				process="@form" />
		</h:panelGrid>
	</p:fieldset>
				
	<p:dataTable value="#{listaPessoaBean.pessoas}" var="pessoa"
		id="pessoaendereco">
		
		<p:column>
			<f:facet name="header">Name</f:facet>
			<h:outputText value="#{pessoa.name}" />
		</p:column>
		<p:column>
			<f:facet name="header">Email:</f:facet>
			<h:outputText value="#{pessoa.email}" />
		</p:column>
		<p:column>
			<f:facet name="header">N° Telefone:</f:facet>
			<h:outputText value="#{pessoa.numeroTelefone}" />
		</p:column>
		
		<p:column>
			<f:facet name="header">Cep:</f:facet>
			<ui:repeat var="pessoalist" value="#{pessoa.end}">
				<h:outputText value="#{pessoalist.cep}" />
			</ui:repeat>
		</p:column>

		<p:column>
			<f:facet name="header">Logradouro:</f:facet>
			<ui:repeat var="pessoalist" value="#{pessoa.end}">
				<h:outputText value="#{pessoalist.logradouro}" />
			</ui:repeat>
		</p:column>

		<h:column>
			<f:facet name="header">N°Localidade:</f:facet>
			<ui:repeat var="pessoalist" value="#{pessoa.end}">
				<h:outputText value="#{pessoalist.numeroLocalidade}" />
			</ui:repeat>
		</h:column>

		<p:column>
			<f:facet name="header">N°:</f:facet>
			<ui:repeat var="pessoalist" value="#{pessoa.end}">
				<h:outputText value="#{pessoalist.numeroLocalidade}" />
			</ui:repeat>
		</p:column>

		<p:column>
			<p:commandButton value="Remove "
				action="#{listaPessoaBean.removePessoa(pessoa)}"  />
		</p:column>

		
		<p:column> 
			<p:commandButton value="Altera" 
				action="#{listaPessoaBean.AlteraPessoa(pessoa)}" 
				 update=":cadastroPessoa:teste"/> 
		</p:column> 
		
	</p:dataTable>
</h:form>

o Bean

@Named
@ViewScoped
public class ListaPessoaBean implements Serializable{

private static final long serialVersionUID = 1L;

@Inject
private dadoDao dao;
private Pessoa pessoa = new Pessoa();
private Endereco endereco = new Endereco();

Logger logger = Logger.getLogger(ListaPessoaBean.class.getName() );

public List<Pessoa> getPessoas() {
	List<Pessoa> pessoas = new ArrayList<>();
	pessoas = dao.listar();
	return pessoas;
}
@Transactional
public String removePessoa(Pessoa p) {
	dao.removePesssoa(p);
	return "/pessoa/listarPessoa?faces-redirect=true";
}

public void AlteraPessoa(Pessoa p) {
	logger.info("deu cert");
	//this.pessoa.setName(p.getName());
	this.pessoa = p ;
	
	}


public Pessoa getPessoa() {
	return pessoa;
}
public void setPessoa(Pessoa pessoa) {
	this.pessoa = pessoa;
}
public Endereco getEndereco() {
	return endereco;
}

public void setEndereco(Endereco endereco) {
	this.endereco = endereco;
}

}