[RESOLVIDO]problemas com css

6 respostas
Jasmine

olá pessoal.
estou trabalhando em sistema web com jsf e primefaces utilizando cliente de facelets.
o problema:
na página "mãe" (página principal que recebe-ui:insert- as outras páginas usando ui:composition e ui:define)
há vários links estáticos, ou seja, em qualquer que eu clique só mudará o meio da página, mas o css só incorpora a página para o 1° link que clico. depois só vem xhtml puro, sem o css.
desde já agradeço a ajuda. :)

link do css:(funciona mto bem até a nagegação do 1° link clicado)
<link rel="stylesheet" href="./css/estilo.css" type="text/css"/>
esses são os links da página "mãe":
<h:form>
                    <ul>
                        <li>&lt;h:commandLink styleClass="a" action="#{navegacao.cadastrar_diretorio()}"&gt;Diretorio&lt;/h:commandLink&gt;</li>
                        <li>&lt;h:commandLink styleClass="a" action="#{navegacao.cadastrar_tipo_pessoa()}"&gt;Tipo Pessoa&lt;/h:commandLink&gt;</li>
                        <li>&lt;h:commandLink styleClass="a" action="#{navegacao.cadastrar_pessoa()}"&gt;Pessoa&lt;/h:commandLink&gt;</li>
                        <li>&lt;h:commandLink styleClass="a" action="#{navegacao.salvar_ponto()}"&gt;Salvar Ponto&lt;/h:commandLink&gt;</li>
                        <li>&lt;h:commandLink styleClass="a" action="#{navegacao.sair()}"&gt;Sair&lt;/h:commandLink&gt;</li>
                    </ul>
                &lt;/h:form&gt;
aqui (logo abaixo dos links na página mãe) é onde será carregado as páginas:
&lt;ui:insert name="meioPrincipal"&gt;

                &lt;/ui:insert&gt;
essa é a 'regra de negócio' (navegação)
@ManagedBean(name = "navegacao")
@SessionScoped
public class Navegacao {
    public String index() {
        return "index";
    }
    public String cadastrar_diretorio() {
        return "cadastrar_diretorio";
    }
    public String sair() {
        return "sair";
    }
    public String cadastrar_tipo_pessoa() {
        return "cadastrar_tipo_pessoa";
    }
    
    public String cadastrar_pessoa() {
        return "cadastrar_pessoa";
    }
    
    public String salvar_ponto() {
        return "salvar_ponto";
    }
    
    public String setor() {
        return "setor";
    }
}
e esse é o faces-config:
&lt;navigation-rule&gt;
        &lt;from-view-id&gt;*&lt;/from-view-id&gt;
        &lt;navigation-case&gt;
            &lt;from-outcome&gt;index&lt;/from-outcome&gt;
            &lt;to-view-id&gt;/index.xhtml&lt;/to-view-id&gt;
        &lt;/navigation-case&gt;
        &lt;navigation-case&gt;
            &lt;from-outcome&gt;cadastrar_diretorio&lt;/from-outcome&gt;
            &lt;to-view-id&gt;/modulos/cadastrardiretorio.xhtml&lt;/to-view-id&gt;
        &lt;/navigation-case&gt;
        &lt;navigation-case&gt;
            &lt;from-outcome&gt;sair&lt;/from-outcome&gt;
            &lt;to-view-id&gt;/login.xhtml&lt;/to-view-id&gt;
        &lt;/navigation-case&gt;
        &lt;navigation-case&gt;
            &lt;from-outcome&gt;cadastrar_tipo_pessoa&lt;/from-outcome&gt;
            &lt;to-view-id&gt;/modulos/tipoPessoa.xhtml&lt;/to-view-id&gt;
        &lt;/navigation-case&gt;
        &lt;navigation-case&gt;
            &lt;from-outcome&gt;cadastrar_pessoa&lt;/from-outcome&gt;
            &lt;to-view-id&gt;/modulos/cadastrarPessoa.xhtml&lt;/to-view-id&gt;
        &lt;/navigation-case&gt;
        &lt;navigation-case&gt;
            &lt;from-outcome&gt;salvar_ponto&lt;/from-outcome&gt;
            &lt;to-view-id&gt;/modulos/salvarPonto.xhtml&lt;/to-view-id&gt;
        &lt;/navigation-case&gt;
        
        &lt;navigation-case&gt;
            &lt;from-outcome&gt;setor&lt;/from-outcome&gt;
            &lt;to-view-id&gt;/modulos/setor.xhtml&lt;/to-view-id&gt;
        &lt;/navigation-case&gt;
    &lt;/navigation-rule&gt;
&lt;/faces-config&gt;
página filha(será carregado dentro do ui:insert):
&lt;ui:composition template="./../index.xhtml"&gt;
        &lt;ui:define name="meioPrincipal"&gt;
            &lt;link rel="stylesheet" href="./css/estilo.css" type="text/css"/&gt;
            &lt;h:body&gt;
                &lt;h:form id="cadastroSimples"&gt;
                    &lt;h:panelGrid columns="2"&gt;
                        &lt;h:inputText size="100" class="ui-corner-all" value="#{L}"/&gt;
                        &lt;h:message for="diretorio"/&gt;<br/>
                    &lt;/h:panelGrid&gt;
                    &lt;p:commandButton style="color: #1F6B75" value="Salvar" action="Salvar"&gt;&lt;/p:commandButton&gt;
                &lt;/h:form&gt;
            &lt;/h:body&gt;
        &lt;/ui:define&gt;
    &lt;/ui:composition&gt;

6 Respostas

Hebert_Coelho

Não duplique seus posts: http://www.guj.com.br/java/289497-como-incorporar-o-css-em-paginas-cliente-de-facelets-que-estao-separadas-em-pastas

Leia as regras do forum: http://www.guj.com.br/java/21526-regras-do-forum

lele_vader

Tenta referenciar o seu css assim:

Daí após o request.contextPath você coloca o caminho do css a partir da pasta web padrão

Jasmine

lele_vader:
Tenta referenciar o seu css assim:

Daí após o request.contextPath você coloca o caminho do css a partir da pasta web padrão

lele_vader

De nada.

lele_vader

Para evitar isso você poderia usar a tag <h:outputStyleSheet/>
Ela possui uma propriedade chamada library, a qual diz a pasta que possui os arquivos e uma outra propriedade chamada name para dizer o nome do arquivo.

Para usar isso seus arquivos estáticos devem estar dentro de uma pasta chamada resources na pasta web padrão.

E so funciona em jsf 2.

Hebert_Coelho

lele_vader:
Para evitar isso você poderia usar a tag <h:outputStyleSheet/>
Ela possui uma propriedade chamada library, a qual diz a pasta que possui os arquivos e uma outra propriedade chamada name para dizer o nome do arquivo.

Para usar isso seus arquivos estáticos devem estar dentro de uma pasta chamada resources na pasta web padrão.

E so funciona em jsf 2.

Olha lá no outro post q ela duplicou…

Criado 13 de dezembro de 2012
Ultima resposta 13 de dez. de 2012
Respostas 6
Participantes 3