Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
11
respostas

Dúvida no Ex. 3 da Aula 7 - Aplicando temas

HTTP Status 500 - Error loading css, cannot find "theme.css" resource of "primefaces-" library.

Depois que coloco o context-param da este erro. O que fazer?

11 respostas
solução!

Pela mensagem não foi localizado o caminho até o theme.css.

Você adicionou o jar do tema do primeface no seu projeto ou a dependência via maven?

http://www.primefaces.org/themes

Eu não fiz o curso porém eu entendo um pouco de primeface.

No projeto não esta sendo usado o maven e adicionei o jar na pasta WEB-INF/lib

Oi Gabriel,

bota mais infos aqui, a gente não é magico :)

vc colocou expression language no context-param?

abs

Olá,

No exercício opcional "Mais Temas", eu fiz o seguinte no meu _template.xhtml:

<h:head>
    <h:outputStylesheet library="primefaces-#{temaBean.tema}"
        name="theme.css" />
</h:head>

Oi Cassius,

essa config não é necessária.

abs

Olá,

Conforme a imagem do seguinte link, o livro.xhtml fica mal formatado pela falta do outputStylesheet: https://drive.google.com/open?id=0B_DCG5C0WYs-UWdEVnF6a3BPQ00

Oi Cassius,

realmente não tá legal :)

no treinamento de primefaces tem em cada capitulo um "stage" que é o projeto para download com todos os exercícios aplicados. em nenhum momento foi necessário usar o stylesheet explicitamente.

vc tem o seu codigo no gitlab ainda? posso dar uma olhada.

abs

Olá,

Sim, está no GitLab: https://gitlab.com/cviniciusm/jsf-livraria

Oi Cassiu,

depois de apanhar um pouco por causa de bug com wildfly 10 e o navegador chrome, consegui rodar o seu projeto.

Tente seguinte: tire do template.xhtml a tag <h:outputStylesheet ../> mas deixa o <h:head />. isso funcionou aqui!

abs

Olá,

Muito obrigado. O que você disse está correto.

A tag h:head gera a tag head na página web, assim sem essa ocorre o erro relatado pelo usuário e por mim.

Veja como a página é montada:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><link type="text/css" rel="stylesheet" href="/livraria/javax.faces.resource/theme.css.xhtml?ln=primefaces-south-street" /><link type="text/css" rel="stylesheet" href="/livraria/javax.faces.resource/fa/font-awesome.css.xhtml?ln=primefaces&amp;v=5.3" /><script type="text/javascript" src="/livraria/javax.faces.resource/jquery/jquery.js.xhtml?ln=primefaces&amp;v=5.3"></script><script type="text/javascript" src="/livraria/javax.faces.resource/jquery/jquery-plugins.js.xhtml?ln=primefaces&amp;v=5.3"></script><script type="text/javascript" src="/livraria/javax.faces.resource/primefaces.js.xhtml?ln=primefaces&amp;v=5.3"></script><link type="text/css" rel="stylesheet" href="/livraria/javax.faces.resource/primefaces.css.xhtml?ln=primefaces&amp;v=5.3" /><script type="text/javascript">if(window.PrimeFaces){}</script>
<!--     &lt;h:outputStylesheet library="primefaces-south-street" -->
<!--         name="theme.css" /&gt; --></head>

otimo! vamos que vamo :)