Olá desenvolvedores, estamos desenvolvendo um pequeno sistema de cadastro a partir das tecnologias JSF – JavaServer Faces e JPA – Java Persistence API. Até o momento em nosso sistema já podemos salvar, remover e criar um novo registro. Mas agora queremos, além de editar, poder remover a partir da lista.

Desse modo, o tutorial de hoje trará na prática como implementar essas novas rotinas. Mas antes, no cabeçalho da primeirapagina.xml, adicionaremos o core do JSF. Este core provê funcionalidades extras que estendem o poder do JSF. A biblioteca core dá suporte a elementos avançados do HTML – HyperText Markup Language do JSF.

O core sempre será usado com os elementos gráficos do JSF. Note que declaramos o core com o prefixo “f”, dessa forma ele será utilizado sempre que implementarmos alguma funcionalidade que faz parte desta biblioteca.

A declaração da biblioteca core é importante para as nossas pretensões com a implementação do botão editar. Porque utilizaremos a propriedade “setPropertyActionListener”, assim quando clicarmos no botão editar, ela, a propriedade será a responsável por colocar o objeto em edição.

IMPLEMEMTANDO O BOTÃO EDITAR

Para o botão editar implementaremos mais uma coluna, dentro da coluna o botão commandLink que renderiza um elemento HTML. Dentro da tag commandLink é que acionaremos a setPropertyActionListener.

De forma resumida a tag adiciona um ouvinte de ação a um componente, definindo assim uma propriedade de bean para um determinado valor.

Esta propriedade recebe como valor o objeto pessoa correspondente a linha que se deseja editar. Assim, os dados do objeto pessoa que será editado será atribuído ao objeto do ManagedBean por meio do target.

EM POUCAS PALAVRAS

Cada linha da tabela representa um objeto pessoa, desse modo, quando o botão editar é clicado, os dados do objeto pessoa correspondente será injetado para dentro do objeto PessoaBean que corresponde ao formulário de cadastro.