2013-02-10 64 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