2013-02-10 63 views
0

嘗試使用JSF2模板feature.The base.xhtml頁面看起來像下面JSF2模板,並添加樣式表

<?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:h="http://java.sun.com/jsf/html" 
     xmlns:ui="http://java.sun.com/jsf/facelets" 
    > 

    <h:head> 
    <h:outputStylesheet name="test.css" library="style" target="head"/> 
    </h:head> 

    <h:body> 

    <div id="page"> 
    <div id="header"> 
    <ui:insert name="header" > 
    <ui:include src="/layout/header.xhtml" /> 
    </ui:insert> 
    </div> 

    <div id="content"> 
    <ui:insert name="content" > 
    ??? 
    </ui:insert> 
    </div> 

    <div id="footer"> 
    <ui:insert name="footer" > 
    <ui:include src="/layout/footer.xhtml" /> 
    </ui:insert> 
    </div> 

    </div> 

    </h:body> 
    </html> 

嘗試這個模板繼承到我的網頁(testpage.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:h="http://java.sun.com/jsf/html" 
     xmlns:ui="http://java.sun.com/jsf/facelets" 
     > 
    <h:body> 

    <ui:composition template="/layout/base.xhtml"> 
    <ui:define name="content"> 
    Default Page content!!!! 
    <h:outputText value="Foo bar" style="green"/> 
    </ui:define> 

    </ui:composition> 

    </h:body> 

    </html> 

的test.css文件是文件夾的WebContent /資源/風格和CSS文件的內容下提供如下

.green{ 
color:#0000FF;  
} 

現在的問題是,當我嘗試運行樣式表添加到頁面中的測試頁時(視圖源能夠識別),但它不反映在UI中。

上面的代碼有什麼不對嗎?任何對此的幫助表示讚賞。

回答

2

您應該使用styleClass屬性(相當於純HTML的class屬性)

更換

<h:outputText value="Foo bar" style="green"/> 

隨着

<h:outputText value="Foo bar" styleClass="green"/> 
+0

喜丹尼爾,感謝和做工精細。 – 2013-02-12 05:30:10

+0

不客氣。 – Daniel 2013-02-12 07:14:20