Pessoal estou com o seguinte problema:
O meu projeto usa jsf 2.0, primefaces 2.0.1 e facelets.
Quando a app inicia na página de login ta tudo blz, só que quando o usuário faz login e direciona
para outra página, o index.xhtml, esta outra página não carrega corretamente. Fica tudo meio embaralhado, e os estilos
de css não fuincionam. Tentei então carregar diretamente o index.xhtml ignorando o login e dai funcionou.
Alguém pode me ajudar? Será que é o jsf 2, ou o primefaces 2?
Este é o código:
template.xhtml
<?xml version='1.0' encoding='UTF-8' ?>
<!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"
xmlns:p="http://primefaces.prime.com.tr/ui">
<f:view contentType="text/html">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="./css/style.css" rel="stylesheet" type="text/css" />
</h:head>
<h:body>
<div id="all">
<ui:insert name="all">
<div id="top">
<ui:insert name="top">
<div id="top1"><span class="tituloBarra">Space Motos</span></div>
<div id="top2"><span class="nomeUsuario">Bem vindo: </span></div>
<div id="top3"><span class="nomeUsuario">faça login para entrar</span></div>
<div id="top4"><a >Sair</a></div>
</ui:insert>
</div>
<div id="barraInfo">
<ui:insert name="barraInfo">
<div>
<img />
</div>
<div class="texto-barra-info">
<h1>Login</h1>
</div>
</ui:insert>
</div>
<div id="menu">
<ui:insert name="menu">
<p:menubar>
<p:submenu label="Cadastros">
<p:submenu label="Acessórios">
<p:menuitem label="Peças"></p:menuitem>
<p:menuitem label="Estante e Prateleiras"></p:menuitem>
</p:submenu>
<p:menuitem label="Fornecedores" url="#"></p:menuitem>
<p:menuitem label="Funcionários" url="#"></p:menuitem>
<p:menuitem label="Clientes" url="#"></p:menuitem>
<p:menuitem label="Usuários" url="#"></p:menuitem>
</p:submenu>
<p:submenu label="Financeiro">
<p:menuitem label="Contas a Pagar" url="#"></p:menuitem>
<p:menuitem label="Contas a Receber" url="#"></p:menuitem>
<p:menuitem label="Plano de Contas" url="#"></p:menuitem>
</p:submenu>
<p:submenu label="Movimentos">
<p:menuitem label="Orçamentos" url="#"></p:menuitem>
<p:menuitem label="Ordens de Serviço" url="#"></p:menuitem>
<p:menuitem label="Vendas" url="#"></p:menuitem>
</p:submenu>
<p:submenu label="Relatórios">
<p:menuitem label="Index Adm" url="./Pages/Login/indexAdm.xhtml"></p:menuitem>
</p:submenu>
</p:menubar>
</ui:insert>
</div>
<div id="content">
<ui:insert name="content">
</ui:insert>
</div>
<div id="bottom">
<ui:insert name="bottom">
<p >built by</p>
<a >A1 Software</a>
</ui:insert>
</div>
</ui:insert>
</div>
</h:body>
</f:view>
</html>
login.xhtml
<?xml version='1.0' encoding='UTF-8' ?>
<!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:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.prime.com.tr/ui">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="./css/style.css" rel="stylesheet" type="text/css" />
</h:head>
<h:body>
<ui:composition template="./../../template.xhtml">
<ui:define name="barraInfo">
<div>
<img />
</div>
<div class="texto-barra-info">
<h1>Login</h1>
</div>
</ui:define>
<ui:define name="menu">
</ui:define>
<ui:define name="content">
<div id="coluna-unica">
<h:form id="form-dados-user">
<h:panelGrid columns="3">
<f:facet name="header">
<h:outputText value="Digite seus dados"/>
</f:facet>
<h:outputText value="Nome:"/>
<h:inputText size="45"
id="nome"
value="#{usuarioC.usuario.nome}"
required="true"
requiredMessage="Campo Obrigatório"/>
<p:message for="nome"/>
<h:outputText value="Senha"/>
<p:password minLength="3"
maxlength="15"
id="senha"
value="#{usuarioC.usuario.senha}"
required="true"
requiredMessage="Campo Obrigatório"
promptLabel="Digite uma senha segura"
goodLabel="Boa"
weakLabel="Razoável"
strongLabel="Excelente"/>
<p:message for="senha"/>
<h:selectOneMenu value="#{usuarioC.usuario.perfil}">
<!--<f:selectItem itemValue="Administrador" itemLabel="Administrador"/>-->
<f:selectItem itemValue="Basico" itemLabel="Básico"/>
</h:selectOneMenu>
</h:panelGrid>
<h:commandButton value="Login"
action="#{usuarioC.checkLogin}"/>
</h:form>
</div>
</ui:define>
</ui:composition>
</h:body>
</html>
index.xhtml
<?xml version='1.0' encoding='UTF-8' ?>
<!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:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.prime.com.tr/ui">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="./css/style.css" rel="stylesheet" type="text/css" />
</h:head>
<h:body>
<f:view>
<ui:composition template="./../../template.xhtml">
<ui:define name="top">
<div id="top1"><span class="tituloBarra">Space Motos</span></div>
<div id="top2"><span class="nomeUsuario">Bem vindo: </span></div>
<div id="top3"><span class="nomeUsuario"><h:outputText value="#{usuarioC.session}"/></span></div>
<div id="top4"><a >Sair</a></div>
</ui:define>
<ui:define name="barraInfo">
<div>
<img />
</div>
<div class="texto-barra-info">
<h1>Painel de Controle</h1>
</div>
</ui:define>
<ui:define name="menu">
<h:form>
<p:menubar>
<p:submenu label="Cadastros">
<p:submenu label="Acessórios">
<p:menuitem label="Peças"></p:menuitem>
<p:menuitem label="Estante e Prateleiras"></p:menuitem>
</p:submenu>
<p:menuitem label="Fornecedores" url="#"></p:menuitem>
<p:menuitem label="Funcionários" url="#"></p:menuitem>
<p:menuitem label="Clientes" url="#"></p:menuitem>
<p:menuitem label="Usuários" url="#"></p:menuitem>
</p:submenu>
</p:menubar>
</h:form>
</ui:define>
<ui:define name="content">
</ui:define>
</ui:composition>
</f:view>
</h:body>
</html>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<context-param>
<param-name>com.sun.faces.allowTextChildren</param-name>
<param-value>true</param-value>
</context-param>
<servlet>
<servlet-name>Resource Servlet</servlet-name>
<servlet-class>org.primefaces.resource.ResourceServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Resource Servlet</servlet-name>
<url-pattern>/primefaces_resource/*</url-pattern>
</servlet-mapping>
<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>/faces/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>faces/Pages/Login/login.xhtml</welcome-file>
</welcome-file-list>
</web-app>