SKIN do PrimeFaces está se perdendo

Pessoal,

Estou com um problema muito pontual em relação ao Skin do primefaces.

Eu tenho uma página que existe um menu. estou usando a seguinte tag

<p:menuitem value="Página Inicial" ajax="false" action="welcome" immediate="true" />

Porém quando navega para a próxima tela ele perde o skin, isso tanto para o Skin Default quanto para os demais

Segue o código da importanção do skin

         <h:body>
		<h:outputStylesheet name="/themes/redmond/skin.css"/>
		<h:outputStylesheet name="style.css" />
		
		<h:form id="form"/>
		
		<ui:insert name="layout"/>
	</h:body>

http://primefaces.prime.com.tr/forum/viewtopic.php?f=3&t=3774

Ainda não consegui resolver o problema estou fazendo a mesma coisa que eles estão explicando no site como postei no código

Use a tag link. Exemplo:

<link type="text/css" rel="stylesheet" href="#{request.contextPath}/themes/cupertino/skin.css" />

Putz ainda não rolou, agora perdeu de vez o skin
fica dentro do head ou do body?

&lt;link type="text/css" rel="stylesheet" href="#{request.contextPath}/WebContent/resources/themes/redmond/skin.css" /&gt;

Fica na head.

Remova o /WebContent da url.

Então o Skin funciona direitinho FkJ desse jeito que você me mandou muito obrigado pela atenção.

Mas quando eu faço a chamada pra outra página ele perde o SKIN perde os componentes perde tudo.

XHTML

&lt;ui:composition xmlns="http://www.w3.org/1999/xhtml"
	template="/template/top.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"
	xmlns:p="http://primefaces.prime.com.tr/ui"&gt;

	&lt;ui:define name="content"&gt;
		&lt;p:commandButton value="Cadastro" action="cadastro" immediate="true" ajax="false"/&gt;
	&lt;/ui:define&gt;
&lt;/ui:composition&gt;

FACES-CONFIG

&lt;navigation-rule&gt;
    	&lt;from-view-id&gt;*&lt;/from-view-id&gt;	
	&lt;navigation-case&gt;
		&lt;from-outcome&gt;cadastro&lt;/from-outcome&gt;
		&lt;to-view-id&gt;/cadastro.xhtml&lt;/to-view-id&gt;
	&lt;/navigation-case&gt;
&lt;/navigation-rule&gt;

Bom, aqui deixo a tag link em um template. As demais páginas são construídas a partir dele.

Informo o caminho absoluto para o CSS conforme no exemplo. Tanto com regra de navegação quanto com url ta funcionando legal.

Por ser JSF 2 acho até que vc pode até remover a regra de navegação do XML.

To usando o PrimeFaces 2.2-RC2.

Eu acho que eu achei o que está acontecendo mas não sei como resolver.

Quando eu tiro o include e chamo direto ele funciona, eu estava usando o a4j:include do richfaces e funciona numa boa, mas eu gostaria de usar o primefaces

&lt;ui:define name="layout"&gt;
	&lt;ui:include src="/welcome.xhtml" /&gt;
&lt;/ui:define&gt;

resolveu o problema?
esta usando qual versão do primefaces?

O meu esta acontecendo o mesmo do link abaixo

http://primefaces.prime.com.tr/forum/viewtopic.php?f=3&t=6437

No seu web.xml dá uma uma olhada nessa parte do código:

    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>

No seu caso em vez de *.jsf será *.xhtml

No primefaces 2.2 - snapshot tive um problema com alguns componentes que não apareciam no chrome. Solução:
Colocar a tag <h:body> dentro de uma <f:view …

<f:view contentType="text/html">
    <h:body>
          ......

Basta colocar o css no header do welcome.xhtml

Algumas sugestões:

  • Atualizar o primefaces pra versão 2.2.1
  • Mudar o parâmetro no web.xml de primefaces.SKIN para primefaces.THEME e informar o nome do tema. Depois substitua o tema que está descompactado na sua aplicação pelo tema disponível em arquivo jar. Essa configuração dispensa a importação do arquivo skin.css na página.
  • Pode ser necessário limpar o cache do navegador

[quote=FkJ]Algumas sugestões:

  • Atualizar o primefaces pra versão 2.2.1
  • Mudar o parâmetro no web.xml de primefaces.SKIN para primefaces.THEME e informar o nome do tema. Depois substitua o tema que está descompactado na sua aplicação pelo tema disponível em arquivo jar. Essa configuração dispensa a importação do arquivo skin.css na página.
  • Pode ser necessário limpar o cache do navegador[/quote]

Eu estou fazendo isso exatamento como no site do primefaces.

Mas estou recebendo esse erro

javax.servlet.ServletException: Error loading theme, cannot find “theme.css” resource of “primefaces-redmond” library
javax.faces.webapp.FacesServlet.service(FacesServlet.java:321)
org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:67).

Oq será?

Algumas sugestões:

  1. Tem a tag h:head no seu template?
  2. [complementando a dica do FkJ] tem a tag
    <context-param>  
        <param-name>primefaces.THEME</param-name>  
        <param-value>redmond</param-value>  
    </context-param>  

no seu web.xml?
3. Se estiver usando o netbeans, dá um clean and build no projeto.

[quote=evefuji]Algumas sugestões:

  1. Tem a tag h:head no seu template?
  2. [complementando a dica do FkJ] tem a tag
    <context-param>  
        <param-name>primefaces.THEME</param-name>  
        <param-value>redmond</param-value>  
    </context-param>  

no seu web.xml?
3. Se estiver usando o netbeans, dá um clean and build no projeto. [/quote]

template

<html xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.prime.com.tr/ui"
	xmlns:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets">


<h:head>
	<title>#{messages['main.app.title']}</title>
	  <link type="text/css" rel="stylesheet" href="/DelegaDemoiselle/css/styles.css" /> 
	   
</h:head>

<h:body>

...

Web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
  </servlet-mapping>
  <security-constraint>
    <display-name>Restrict raw XHTML Documents</display-name>
    <web-resource-collection>
      <web-resource-name>XHTML</web-resource-name>
      <url-pattern>*.xhtml</url-pattern>
    </web-resource-collection>
    <auth-constraint/>
  </security-constraint>
  
  <filter>
     <filter-name>Filtro</filter-name>
     <filter-class>xxxxx</filter-class>
  </filter>
  <filter-mapping>
     <filter-name>Filtro</filter-name>
     <url-pattern>/administrador/*</url-pattern>
  
  </filter-mapping>
  
  <context-param>    
    <param-name>primefaces.THEME</param-name>    
    <param-value>redmond</param-value>    
   </context-param>
  
    
  
       
    
</web-app>

O redmond-1.0.1.jar ja está junto com as outras bibliotecas no maven.

Obrigado!

Minha ultima mensagem eu vi agora que deu a entender que o problema tenha sido resolvido
mas não foi eu so agredeci a ajuda do colega.