Template facetets nao mostra css

6 respostas
L

Olá!

tenho uma página que está em um diretorio diferente do template. ele reconhece o template porem nao mostra o css e as imagens do template.
mas se eu colocar no mesmo diretorio mostra todos os componentes do template.

<!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:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.prime.com.tr/ui">


<ui:composition template="../index.xhtml">
	<ui:define name="centro">
		<p:layout style="min-width:400px;min-height:800px;" id="layout">
			<p:layoutUnit id="topo" position="top" height="108" resizable="true"
				closable="true" collapsible="true">
				<ui:insert name="topo">

				</ui:insert>
			</p:layoutUnit>
			<p:layoutUnit id="menu" position="left" header="Menu" width="250"
				closable="true" collapsible="true" resizable="true">
				<ui:insert name="menu">

				</ui:insert>
			</p:layoutUnit>
			<p:layoutUnit id="conteudo" position="center" header="" height="400"
				resizable="true" closable="true" collapsible="true">
				<ui:insert name="conteudo" />
			</p:layoutUnit>
			<p:layoutUnit id="rodape" position="bottom" height="100"
				resizable="true" closable="true" collapsible="true">
				<ui:insert name="rodape">

				</ui:insert>
			</p:layoutUnit>
		</p:layout>

	</ui:define>
</ui:composition>
</html>

existe alguma maneira de mostrar todos os componente do template?

6 Respostas

F

Use o caminho completo do template, das imagens e dos arquivos css…

Por exemplo

ao invés de usar template="…/index.xhtml"

use

template="/caminho/index.xhtml"

J
ola sabe o caminho do css no template? acho que o teu template tem esse caminho mais ou menos assim:
<link href="./../resources/css/default.css" rel="stylesheet" type="text/css" />
dai você tem que fazer isso:
<link href="${facesContext.externalContext.requestContextPath}/resources/CSS/default.css" rel="stylesheet" type="text/css" />
entendeu?

paz :D

P

Olá,

sou iniciante ainda, e estou com uma pequena dúvida e resolvi aproveitar o tópico…
Crie um modelo de facelets, template.xhtml, fiz o css e tudo mais… belza, criei um cliente de modelo de facelets, index.html

O problema é o seguinte, quando executo o projeto, acredito q automaticamente ele procura pela pagina index, e assim funciona o css na pagina index…
porem coloquei um link no menu chamando a pagina index.xhtml, e quando ele solicita a pagina ele perde todo o layout…

por acaso encontrei um video na internet onde o cara que fazia colocava no navegador “faces/” antes de atualizar a pagina. (Ex: http://localhost:8080/Teste/faces/index.xhtml)
No meu caso, colocando esse “faces” no navegador realmente funciona o css em todas as paginas…

Mas a pergunta é, porque tem que por “faces/index.xhtml” para funcionar o css, ou melhor, existe uma maneira, algo que eu tenha q configurar para isso nao acontecer?

Obrigado desde já!

Paulo.

W

pcsantana:
Olá,

sou iniciante ainda, e estou com uma pequena dúvida e resolvi aproveitar o tópico…
Crie um modelo de facelets, template.xhtml, fiz o css e tudo mais… belza, criei um cliente de modelo de facelets, index.html

O problema é o seguinte, quando executo o projeto, acredito q automaticamente ele procura pela pagina index, e assim funciona o css na pagina index…
porem coloquei um link no menu chamando a pagina index.xhtml, e quando ele solicita a pagina ele perde todo o layout…

por acaso encontrei um video na internet onde o cara que fazia colocava no navegador “faces/” antes de atualizar a pagina. (Ex: http://localhost:8080/Teste/faces/index.xhtml)
No meu caso, colocando esse “faces” no navegador realmente funciona o css em todas as paginas…

Mas a pergunta é, porque tem que por “faces/index.xhtml” para funcionar o css, ou melhor, existe uma maneira, algo que eu tenha q configurar para isso nao acontecer?

Obrigado desde já!

Paulo.

Oi, isso é o local onde o Servlet do JSF passa para criar suas páginas. Ele pode ser configurado no arquivo web.xml do seu projeto. Pode ser tanto um diretório como uma extensão, por exemplo:

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

Nessa configuração todos os arquivos com extensão xhtml vão passar pelo Faces Servlet.

W

pcsantana:
Olá,

sou iniciante ainda, e estou com uma pequena dúvida e resolvi aproveitar o tópico…
Crie um modelo de facelets, template.xhtml, fiz o css e tudo mais… belza, criei um cliente de modelo de facelets, index.html

O problema é o seguinte, quando executo o projeto, acredito q automaticamente ele procura pela pagina index, e assim funciona o css na pagina index…
porem coloquei um link no menu chamando a pagina index.xhtml, e quando ele solicita a pagina ele perde todo o layout…

por acaso encontrei um video na internet onde o cara que fazia colocava no navegador “faces/” antes de atualizar a pagina. (Ex: http://localhost:8080/Teste/faces/index.xhtml)
No meu caso, colocando esse “faces” no navegador realmente funciona o css em todas as paginas…

Mas a pergunta é, porque tem que por “faces/index.xhtml” para funcionar o css, ou melhor, existe uma maneira, algo que eu tenha q configurar para isso nao acontecer?

Obrigado desde já!

Paulo.

P

obrigadoo wingb!!! Deu certo :smiley:

Criado 16 de março de 2012
Ultima resposta 18 de mar. de 2012
Respostas 6
Participantes 5