[RESOLVIDO] JSF não respeita CSS?

Galera, estou com o seguinte problema:

Tenho uma página JSP com vários

s e um CSS para formatar sua exibição com os tamanhos em percentual. Na hora de visualizar no editor do netbeans, funciona perfeitamente. No preview também, mas qaundo mando rodar a aplicação, o css não é respeitado no height, somente no width.

Se utilizar o IceFaces, o mesmo não ocorre… mas não estou podendo usá-lo devido a um bug…

Alguém já passou por isso ?

JSF

<?xml version="1.0" encoding="UTF-8"?>
<!-- 
    Document   : SisosMain
    Created on : Jul 11, 2008, 6:32:16 PM
    Author     : Carlos MacLeod
-->
<jsp:root version="2.1" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:webuijsf="http://www.sun.com/webui/webuijsf">
    <jsp:directive.page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"/>
    <f:view>
        <webuijsf:page id="page1">
            <webuijsf:html id="html1">
                <webuijsf:head id="head1">
                    <webuijsf:link id="link1" url="/resources/layout.css"/>
                </webuijsf:head>
                <webuijsf:body id="body1" style="-rave-layout: grid">
                    <webuijsf:form id="form1">
                        <div id="container">
                            <div id="header">
                                Cabecalho
                            </div>
                            <div id="leftBar">                                
                                Esquerda
                            </div>
                            <div id="client">
                                Area Cliente
                            </div>
                            <div id="rightBar">
                                Direita
                            </div>
                            <div id="footer">
                                Rodape
                            </div>
                        </div>
                    </webuijsf:form>
                </webuijsf:body>
            </webuijsf:html>
        </webuijsf:page>
    </f:view>
</jsp:root>

CSS

#container {
  margin:auto;
  width:100%; 
  background: #ffffff;
  height: 100%;
 
}

#header {
  background: #DDDDDD;
  float: left;
  width: 100%;
  height: 25%; 
}

#leftBar {
  float: left;
  width: 25%;
  height: 65%;  
  
  background: #EBEBEB;
}

#client {
  float:left;
  width:65%;
  height: 65%;
  background-color: #cdcde6;  
}

#rightBar {
  float:right;
  width:10%;
  height: 65%;
  background: #EBEBEB;
}

#footer {  
  background:#DDDDDD;
  width:100%;
  height: 10%;  
  clear:both;
} 

Abraços,

Carlos MacLeod




teste em navegadores diferentes.

Testei com o IE, deu na mesma.
:frowning:


Abraços,
Carlos MacLeod

use o styleClass ao inves do style

Eu sempre faço o CSS baseado no XHTML gerado pelo JSF.

Você vai perceber o quanto o JSF mata o conceito Web Semantica e TableLess.
Pra começar com o que ele faz com os IDs.

Outra coisa é não confiar em IDE java para fazer designer de página, pois eles não são feitos para isso e na minha opinião, nunca serão. Use o DreamWeaver com o XHMTL gerado.

Assim ? Se for, deu na mesma…

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;!-- 
    Document   : SisosMain
    Created on : Jul 11, 2008, 6:32:16 PM
    Author     : Carlos MacLeod
--&gt;
&lt;jsp:root version="2.1" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:webuijsf="http://www.sun.com/webui/webuijsf"&gt;
    &lt;jsp:directive.page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"/&gt;
    &lt;f:view&gt;
        &lt;webuijsf:page id="page1"&gt;
            &lt;webuijsf:html id="html1"&gt;
                &lt;webuijsf:head id="head1"&gt;
                    &lt;webuijsf:link id="link1" url="/resources/layout.css"/&gt;
                &lt;/webuijsf:head&gt;
                &lt;webuijsf:body id="body1" style="-rave-layout: grid"&gt;
                    &lt;webuijsf:form id="form1"&gt;
                        &lt;div id="container" class="conteudo"&gt;
                            &lt;div id="header" class="cabecalho"&gt;
                                Cabecalho
                            &lt;/div&gt;
                            &lt;div id="leftBar" class="esquerda"&gt;                                
                                Esquerda
                            &lt;/div&gt;
                            &lt;div id="client" class="cliente"&gt;
                                Area Cliente
                            &lt;/div&gt;
                            &lt;div id="rightBar" class="direita"&gt;
                                Direita
                            &lt;/div&gt;
                            &lt;div id="footer" class="rodape"&gt;
                                Rodape
                            &lt;/div&gt;
                        &lt;/div&gt;
                    &lt;/webuijsf:form&gt;
                &lt;/webuijsf:body&gt;
            &lt;/webuijsf:html&gt;
        &lt;/webuijsf:page&gt;
    &lt;/f:view&gt;
&lt;/jsp:root&gt;
.cabecalho {
  background: #DDDDDD;
  float: left;
  width: 100%;
  height: 25%; 
}

.conteudo {
  margin:auto;
  width:100%; 
  background: #ffffff;
  height: 100%;
 
}

.esquerda{
  float: left;
  width: 25%;
  height: 65%;  
  
  background: #EBEBEB;
}

.cliente {
  float:left;
  width:65%;
  height: 65%;
  background-color: #cdcde6;  
}

.direita {
  float:right;
  width:10%;
  height: 65%;
  background: #EBEBEB;
}

.rodape {  
  background:#DDDDDD;
  width:100%;
  height: 10%;  
  clear:both;
} 

[quote=zanatto]Eu sempre faço o CSS baseado no XHTML gerado pelo JSF.
[/quote]

XHTML ? Seria gerar o JSP com xml syntax ao invés de standard ? Desculpe, mas sou meio noob em Web… Pode explicar ?

[quote=zanatto]
Outra coisa é não confiar em IDE java para fazer designer de página, pois eles não são feitos para isso e na minha opinião, nunca serão. Use o DreamWeaver com o XHMTL gerado.[/quote]

O Dreamweaver consegue interpretar legal o JSF sem problemas ?

Abraços,
Carlos MacLeod

Cara, baseado no que vc falou, fiz o JSP como XML. E deu certo !!! Valeu pela dica !!!

Teoricamente a versão anterior deveria funcionar né ? Pode ser um bug do JSF da Sun ? ( Até pq com o Icefaces funciona normal )

Codigo Funcionando

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;

&lt;jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"&gt;

    &lt;jsp:directive.page contentType="text/html" pageEncoding="UTF-8"/&gt;


    
    &lt;!-- any content can be specified here, e.g.: --&gt;
    &lt;jsp:element name="text"&gt;
        &lt;jsp:attribute name="lang"&gt;EN&lt;/jsp:attribute&gt;
        &lt;head&gt;
        &lt;link href="${pageContext.request.contextPath}/resources/layout.css" rel="stylesheet" type="text/css" /&gt;
        &lt;/head&gt;
        &lt;jsp:body&gt;
                        &lt;div id="container" class="conteudo"&gt;
                            &lt;div id="header" class="cabecalho"&gt;
                                Cabecalho
                            &lt;/div&gt;
                            &lt;div id="leftBar" class="esquerda"&gt;                                
                                Esquerda
                            &lt;/div&gt;
                            &lt;div id="client" class="cliente"&gt;
                                Area Cliente
                            &lt;/div&gt;
                            &lt;div id="rightBar" class="direita"&gt;
                                Direita
                            &lt;/div&gt;
                            &lt;div id="footer" class="rodape"&gt;
                                Rodape
                            &lt;/div&gt;
                        &lt;/div&gt;
        &lt;/jsp:body&gt;
    &lt;/jsp:element&gt;

&lt;/jsp:root&gt;

Abraços,
Carlos MacLeod

A grosso modo, pode se dzer que o XHTML é uma evolução do HTML. Mais isso não vai influenciar nesse contexto.

Quanto ao DreamWeaver, você deve fazer o CSS nele usando como base uma página geradade pelo JSF.

  1. Executa sua aplicação
  2. Acesse via navegador
  3. Pede para exibir o código fonte
  4. Copie esse código e colocar no DreamWeaver.
  5. Faz o CSS
  6. Pega esse CSS e colocar no seu projeto da IDE

[quote=zanatto]A grosso modo, pode se dzer que o XHTML é uma evolução do HTML. Mais isso não vai influenciar nesse contexto.

Quanto ao DreamWeaver, você deve fazer o CSS nele usando como base uma página geradade pelo JSF.

  1. Executa sua aplicação
  2. Acesse via navegador
  3. Pede para exibir o código fonte
  4. Copie esse código e colocar no DreamWeaver.
  5. Faz o CSS
  6. Pega esse CSS e colocar no seu projeto da IDE[/quote]

Entendi… Valeu
:wink: