Facelets - Composição e Ferramentas
Este post encerra minha rodada para apresentar o Facelets, e motivar as pessoas através da demonstração de suas funcionalidades e vantagens.
Minha idéia para encerrar com chave de ouro é mostrar hoje o conceito de Componentes através do uso de templates. Suponhamos que você queria criar um componente a:inputCPF que já renderize um Label CPF, renderize também um inputText com o maxlenght pré-definido e formate a mascara.
Neste caso, bastará criar "um template" contendo este h:inputText "customizado". Ex. (arquivo cpf.xhtml):
Uma vez criado este pedaço de página, vamos criar o arquivo de definição das tagslibs informando basicamente o "namespace" para as componentes e o nome da tag e a qual página compõe a tag informada. Ex. (arquivo META-INF/cpf.taglib.xml):
Feito isto, bastamos agora informar (no web.xml) quais taglibs devem ser carregadas. Ex.:Duas informações importantes:
- Se houver mais de uma arquivo xml com a definição das taglibs, você pode separa-los por vírgula
- Caso o arquivo xml esteja em outro jar, o xml deve estar obrigatoriamente dentro da pasta META-INF
Pronto, agora sua tag está pronta para ser utilizada. Lembre-se de adicionar o namespace da sua tag na sua página xhtml previamente
Vejam que isto é muito poderoso! Você pode também criar funções, validadores, conversores, usar e abusar do jstl para que seus componentes tenham alguma inteligência.
Agora tudo isto não será fácilmente "engulido" pela equipe de multimedia, se esta não se sentir a vontade para trabalhar, para isto além do Exadel, pode-se usar também o JSF ToolBox .
Esperava conseguir abordar todas as funcionalidades do Facelets, mas para isto, o correto seria escrever um artigo (espero fazer isto em breve). Entretanto espero que estes últimos posts tenham despertado os leitores para esta tecnologia e desejo que se aprofundem nas documentações diposníveis no site do Facelets.
Leave a comment