DanielPaiva:
montei a sequinte tabela:
<h:dataTable styleClass=“label_Dados” width=“100%” var=“clientes” value="#{alterarCliente.lista}">
<h:column>
<h:commandLink action="#{clientes.atualizar}"><h:outputText value="#{clientes.nome}" /></h:commandLink>
</h:column>
</h:dataTable>
como faco para no meu bean pegar qual foi o cliente selecionado ?
Amigo…
tem uma solução mais atraente, se o que vc deseja é apenas o ID do cliente selecionado.
Gere um parametro (POST) para o link, como no velho jsp, asp, php, etc, assim:
Obs.: Meu Bean é um Book, com id, title, author e um metodo selectBook()
<h:column>
<f:facet name=“header”>
<h:outputText value=“Edit”/>
</f:facet>
<h:commandLink id=“Edit”
action=“editBook”
actionListener="#{bookBean.selectBook}">
<h:outputText value="Edit" />
<f:param id="editId"
name="id"
value="#{book.id}" />
</h:commandLink>
– > No método de selectBook, faça o seguinte:
UIParameter component = (UIParameter) event.getComponent().findComponent("editId"); //id do parametro
int id = Integer.parseInt(component.getValue().toString());
Onde editId é o id do book selecionado, criado no parametro <f:param> acima.
Pronto, ID recuperado.
Abraços