Arquivo

Posts Tagged ‘restfaces’

Como executar métodos antes de renderizar páginas em JSF – abordagem com RestFaces

No meu post anterior, mostrei como preparar uma aplicação JSF para receber requisições GET com o uso de RestFaces Actions. Nessa nova publicação, mostrarei como chamar um método de um Bean antes de renderizar uma página.

Uma das possibilidades de se conseguir isso é criando um PhaseListener. O problema é que muitas vezes isso acontece em apenas uma página do nosso sistema, então criar um PhaseListener que vai verificar se o usuário está em uma determinada página para executar uma simples ação é bastante desencorajador. Uma outra opção seria colocar lógica no método getter, mas essa prática é fortemente desaconselhada, pois, em geral, os getters não devem ter lógica de negócio.

Com o RestFaces (caso você queira saber como instalar o RestFaces, consulte meu post anterior nesse endereço)  é muito simples fazer essa operação, conforme demonstrarei abaixo:

Leia mais

Usando RestFaces na sua aplicação JSF – trabalhando com requisições GET

Hoje me deparei com um problema aqui no trabalho: uma aplicação nossa em PHP iria chamar uma aplicação JSF passando parâmetros GET que deveriam ser tratados e, dependendo dos dados recebidos, essa aplicação JSF redirecionaria o usuário para uma view ou para outra. Além disso, o sistema em JSF deveria armazenar algumas das informações vindas pela URL para posteriormente exibir na tela para o usuário.

Já sabia que para trabalhar com bookmarking no JSF era necessário utilizar algum componente externo e o mais famoso é o RestFaces. A primeira iniciativa foi então pesquisar como eu iria realizar os seguintes passos:

  1. Tratar esses parâmetros vindos do sistema PHP;
  2. Armazenar os dados recebidos em propriedades dos beans;
  3. Direcionar o usuário para uma das duas telas predefinidas.

O RestFaces tem várias funcionalidades bastante úteis e permite invocar métodos server-side através de uma simples requisição GET HTTP. Ele lhe ajuda bastante no gerenciamento de parâmetros da seguinte forma:

  • Permite passar parâmetros da URL para os métodos server-side;
  • Converte parâmetros;
  • Renderiza parâmetros;
  • Alinha propriedades dos Beans aos parâmetros da URL e vice-versa.

A solução que encontrei para meu problema (poderia ser feito de outras formas) foi apenas criar duas RestFaces Actions.

Vamos ao passo-a-passo:

Leia mais