Primefaces JSF - Layout com Template

7 respostas
G

Galera, estou com minha aplicação web pronta em JSF com Primefaces.
Tenho um template feito com facelets mas era apenas provisório.
Recebi um template em html que utiliza JQuery e tal. Mas não consegui importar de jeito nenhum.
Na verdade eu importava mas ao que parece, o Primefaces sobreescreve os CSS de todos os componentes.

Tenho algumas dúvidas:

  1. Para templates, o melhor (ou o mais recomendado) em JSF é fazer um template com

    e outros componentes html só fazendo a chamada pelo ui:composition?
    Ou seria melhor realmente utilizar o <p:layout> que o primefaces tem e estrutura a página toda de acordo com os recursos do prime?
  2. Como eu faço por exemplo para preencher o fundo de uma página com outra cor usando esses componentes do primefaces? Eu coloco no <p:layout> e/ou no <p:layoutUnit> essa configuração CSS e altera apenas a cor das bordas. style="background-color: #eeeeee;

  3. Por fim, eu li em alguns fóruns que algumas pessoas pegam o CSS do Primefaces e alteram de acordo com o seu jeito. Isso não seria de uma certa forma ruim?

7 Respostas

H

Eu uso o facelets mesmo.

Não gosto muito do p:layout. Dificulta em algumas coisas simples.

O CSS do Primefaces pode ser alterado sem problemas, na própria documentação no Primefaces você encontra como fazer isso.

G

Existe alguma limitação ou algum problema que me impeça de usar um HTML como template padrão?
Porque estou usando JSF 2.0 e todas as páginas são xhtml…
Quando faço os imports dos CSS e JS, simplesmente nada funciona. (pode ser também pelo caso do Primefaces estar sobreescrevendo todo o CSS)

H

gabriel.amoedo:
Existe alguma limitação ou algum problema que me impeça de usar um HTML como template padrão?
Sim.
Você precisa entender de Servlet, o JSF em si é um servlet.
HTML não funciona com páginas dinâmicas. Por isso que a tecnologia web para java utilizam JSP para gerar as páginas. E com o JSF passou de JSP para XHTML

G

Entendi.
Então significa que se eu quiser utilizar aquele html como padrão, preciso transformá-lo (codificando-o) em um xhtml?
Até onde eu sei, as tags não mudam tanto… Ou mudam? rs…

H

gabriel.amoedo:
Entendi.
Então significa que se eu quiser utilizar aquele html como padrão, preciso transformá-lo (codificando-o) em um xhtml?
Até onde eu sei, as tags não mudam tanto… Ou mudam? rs…
Você fez um teste? O que aconteceu?
Aconselho a você a estudar JSF antes de começar a meter a mão na massa. Ele não é tão simples e objetivo quanto um Servlet/JSP.

G

Alterei o html pra xhtml e nada mudou.
Imaginei que fossem algumas tags que teriam uma sintaxe diferente e as alterei mas também nada mudou.
Pode ter sido o CSS do Primefaces.

Sobre a questão do JSF, o sistema está todo pronto. O que realmente eu não sei é como colocar um template ali.

Por exemplo, fiz um sistema com JSP + Servlet e tudo girava em cima de taglib, o template em html funcionava 100% com JSP e tal.

Mas eu sei que com JSF 2.0, a tecnologia é o xhtml (e é importante deixar claro que eu entendo a importância disso rs) e que não devo ficar usando taglib e outras coisas antigas até porque EXISTE UMA MANEIRA melhor de fazer. Só estou buscando essa melhor maneira! :slight_smile:

H

Por isso que eu disse para você estudar. JSF != JSP/Servlet, mas é muito mesmo.

JSF pode rodar com JSP, mas você não pode utilizar facelets e alguns outros detalhes que fazem toda a diferença.

Se com o layout do primefaces está funcionando, vejo que seria melhor você altera-lo. Será mais simples editar o CSS.

Se você quer começar a ver como funciona o facelets, aqui mostra: JSF Mini Livro - Dicas, conceitos e boas práticas.

Criado 27 de setembro de 2012
Ultima resposta 27 de set. de 2012
Respostas 7
Participantes 2