Olá desenvolvedores, neste tutorial trabalharemos com eventos, isto é, o processamento de alguma funcionalidade da aplicação por meio de um evento. Como por exemplo, atribuir foco a um dado componente, mudar o valor, disparar uma ação quando um botão é clicado, exibir uma notificação. Enfim, realizar algum tipo de processamento, seja do lado do cliente ou do lado do servidor, por meio de uma ação do usuário.
Em outras palavras, criamos uma função que nada mais é que um conjunto de instruções que executa uma ou mais ações, respondendo a um evento realizado pelo usuário, isto é, uma ação praticada por ele. O mais comum é quando ocorre um click no botão, mas há muitos outros para você explorar.
SOBRE EVENTOS
Um dos exemplos muito utilizados e que até já aplicamos aqui em nossa implementação é o exemplo de perda de foco. Por exemplo, o usuário digita o CPF e quando o referido campo perde o foco, o processo de validação do CPF é disparado. Fizemos isso com Estados, para listar as cidades correspondentes ao Estado selecionado.
O JSF – JavaServer Faces além de comportar eventos ligando-o ao servidor, permite trabalhar também com o JavaScript, acionando uma função quando o evento ocorrer. Assim, para indicar para qual evento a linguagem ficará na “escuta”, utiliza-se uma palavra reservada seguida do nome da função que será “disparada” quando o evento ocorrer.
Entre os muitos eventos disponíveis temos eventos de click (on)click, evento de quando o botão submit é pressionado (on)submit, evento de perda de foco (on)blur, evento de foco (on)focus. O uso do “on” precedendo o nome do evento dependerá de como ocorrerá o link entre o HTML, neste caso o JSF e o JavaScript.
Mas o uso dos eventos não se limita ao contexto dos exemplos citados, a partir do disparo do evento podemos fazer uma requisição Ajax no JavaScript. Ou ainda utilizar uma biblioteca do JQuery, e disparar um Ajax para o servidor de qualquer lugar do mundo, trabalhando no cenário de web service.
Existe ainda eventos como o valueChangeListener que ocorre quando o usuário interage com componentes de entrada, como h:inputText ou h:selectOneMenu. Neste caso o JSF dispara um valueChangeEvent, que pode ser ligado a uma classe Java no lado do servidor e realizar alguma transação de banco de dados e/ou fazer alguma requisição.
EM POUCAS PALAVRAS
Para saber qual evento utilizar, de novo, recorra a documentação ou ainda, em um espaço livre dentro da tag do componente, com o CTRL pressionado, pressione a “barra de espaço” para que todas as opções disponíveis para aquele componente sejam disponibilizadas.