JSF Mini Livro – Dicas, conceitos e boas práticas

Importando CSS/Imagens/JavaScript como biblioteca

Após a aplicação receber uma requisição do usuário (chamado de “request”) uma resposta (chamada de “response”) é preparada para ser enviada para o usuário.

Na resposta enviada para o usuário contém textos, diversas imagens, gifs, comandos javascript que devem ser interpretados pelo browser do usuário; imagens, gifs, javascript são conhecidos como recursos. O JSF trabalha com um componente chamado ResourceHandler para facilitar o acesso a esses recursos.

O ResourceHandler nada mais é do que a definição de uma estrutura de diretórios para facilitar a localização de cada recurso. Para mapear os esses recursos o ResourceHandler irá verificar cada pasta/arquivo presente no diretório “/WebContent/resources”. Cada pasta será tratada como se fosse uma biblioteca que fica a disposição da aplicação. Caso você tenha uma pasta “/WebContent/resources/meujavascript” o JSF terá a sua disposição uma “biblioteca” chamada “meujavascript”.

O ResourceHandler pode inclusive criar versões de cada recurso. Você poderia criar o diretório “/WebContent/resources/meujavascript” e depois “/WebContent/resources/meujavascript/1_0”, “/WebContent/resources/meujavascript/1_1”. Será utilizada pelo JSF a última versão encontrada.

Para utilizar o recurso de bibliotecas em nosso exemplo, dentro da pasta /WebContent crie uma pasta chamada “resources“. Dentro da pasta “resources” crie uma pasta chamada “css” e outra chamada “images“.  Crie um arquivo chamado “estilo.css” dentro da pasta “css” e coloque uma imagem dentro da pasta “images” chamada de “imagem01″ (pode ser qualquer imagem que você escolher). A imagem abaixo mostra como deve ficar a estrutura de páginas:

O código do arquivo “estilo.css” abaixo definirá apenas como será o formato da nossa tag <h1> do HTML:

h1 {
	color: blue;
	text-align: left;
}

Para utilizar a biblioteca mapeada pelo ResourceHandler vamos criar uma página chamada “index.xhtml” dentro da pasta “/WebContent”. Com tag “h:outputStylesheet” do JSF é possível acessar o arquivo css de dentro da página sem precisar passar o caminho físico, mas sim informando em qual “biblioteca” se encontra o nosso arquivo css. Confira no código abaixo como ficará o código da página “index.xhtml”. Repare que no código abaixo utilizamos a tag graphicImage para exibir uma imagem; os dados informados são a biblioteca e o nome do arquivo. Tanto para o css e a imagem não foi necessário passar o caminho físico para o arquivo.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core">
<h:head>
	<h:outputStylesheet library="css" name="estilo.css"/>
	<title>Olá</title>
</h:head>
<h:body>
	<h1>Real Madrid, Campeão!</h1>
	<h:graphicImage library="images" name="imagem01.png" />
</h:body>
</html>

No Eclipse, vá à aba onde se encontra o servidor (aba “Servers”) e dê o start. Para acessar o projeto acesse a aplicação pelo endereço: http://localhost:8080/ProjetoJSF/faces/index.xhtml. Um texto com o estilo descrito no arquivo css e a imagem que se encontra na pasta “images” irão aparecer na página exibida. Perceba que em nenhum momento apontamos um caminho físico como “/WebContent/resources/estilo.css” para o estilo ou para a imagem.

Para se importar um arquivo javascript o conceito é o mesmo. Crie a pasta “/WebContent/resources/js” e dentro dela coloque o seu código javascript. Para importar seu arquivo para dentro da página, basta utilizar a seguinte tag: <h:outputScriptname=”meuArquivo.js” library=”js” />.

79 Thoughts on “JSF Mini Livro – Dicas, conceitos e boas práticas

  1. Marcelo on May 2, 2013 at 12:09 am said:

    Ainda não li tudo, mas pelo que eu já vi estou achando excelente.
    Você poderia fazer também um mini livro de JPA.

    • uaihebert on May 2, 2013 at 9:13 pm said:

      Marcelo, boa noite.

      Já existe aqui no blog um mini livro de JPA. Existe também um chamado Consultas e Dicas só com diversas funções de Pesquisa no JPA.

      Até mais.

  2. Fagner on April 30, 2013 at 5:03 pm said:

    Parabéns pelo artigo. Esclareceu muitas dúvidas. Sucesso!

  3. Geverson R. Sarmento on April 24, 2013 at 2:49 pm said:

    Excelentes artigos! Good Job!

Comment navigation

 

Leave a Reply

Post Navigation