#desenvolvimento

Compreendendo JavaServer Faces – Parte III


Antes de passarmos para o web.xml – o outro arquivo de configuração do JSF – precisamos continuar a compreensão de como o JSF trabalha internamente.

Vimos que o escopo do JSF se restringe à camada de apresentação, sendo assim os serviços mais importantes do JSF são:

    Suporte às ferramentas automatizadas
    Arquitetura MVC
    Suporte à conversão dos dados
    Validações de erros
    Suporte à internalização das páginas
    Renderizadores alternativos
    Suporte à componentes customizáveis

Com estes serviços o JSF conecta a visão ao modelo da aplicação. Agindo como um controlador que reage à ação do usuário e processa os eventos de ação e de mudança dos valores encaminhando-os para o código que atualiza o modelo ou a visão.

Uma página JSF é composta por várias tags. Cada tag possui uma classe Java, denominada Tag Handler que é executada quando a página JSF é lida. Com isto a árvore de componentes é criada através da conversação e colaboração entre os Tag Handlers.

Processamentos principais do JSF:

Codificação
É o processo em que as tags JSF são convertidas em HTML através dos renderizadores de cada componente. O renderizador de um determinado objeto solicita ao JSF o id e o valor atual do atributo do bean.

Após a submissão de um formulário o navegador envia a URL e os dados do formulário para o servidor através de uma requisição POST, que. é parte do protocolo HTTP. O servlet faz com que estes dados fiquem disponíveis, à todos os componentes, numa tabela hash.

Decodificação
É o processo que cada componente JSF faz ao verificar a tabela hash para interpretar os dados do formulário.

Os dados do formulário são formados pelos ids e os atuais valores contidos nos componentes no momento da submissão do formulário.

E para finalizar uma breve explicação sobre os tipos de componentes que o JSF possui:

UIInput: Componente que atualiza uma propriedade do bean ao invocar o método setter, como por exemplo um campo de entrada de texto.

<h:inputText id="txt_login" value=#{user.login} />

UICommand: Componente receptor de uma ação realizada pelo usuário, responsável por disparar um evento que inicie a ação solicitada, como por exemplo um botão.

<h:commandButton id="btn_logar" 
               value="Logar"
               action="#{user.logar}" />

No próximo post conheceremos o ciclo de vida do JSF.

Até lá 😉

Anúncios
Padrão

2 comentários sobre “Compreendendo JavaServer Faces – Parte III

  1. kamila disse:

    Você tem algum post que fale sobre a estrutura de uma arquitetura MVC detalhadamente?
    Estou devorando esse blog para destruir o que aprendi de errado sobre Jsf.Gostei do jeito como descreve,parece falar a língua de leigos como eu;fazendo parecer mais simples do que é.Enfim,espero que possa me ajudar.

    Att,

    Kamila J.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s