2012-09-11 133 views
1

在我的RichFaces 4.2.0應用定製RichFaces的皮膚在JBoss中7,所有頁面使用相同的模板:通過CSS覆蓋

<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> 
    <title>MY APPLICATION</title> 
    <link href="/myapp/resources/css/stylesheet.css" rel="stylesheet" type="text/css"/> 
</h:head> 

<h:body class="form" > 
    <div id="page"> 
      ..... 
    </div> 
</h:body> 

的stylesheet.css文件被用來定義一些全局樣式,以及覆蓋一些richfaces類。我的應用程序使用自動蒙皮(org.richfaces.enableControlSkinning = true):簡而言之,stylesheet.css被設計爲覆蓋RF所產生的一切看起來並不需要的東西。

在JBoss 6下一切正常,因爲RF樣式(ECSS)在stylesheet.css之前被導入,因此被覆蓋。在JBoss 7(EAP 6)下恰恰相反,所以stylesheet.css根本沒有效果。

你知道嗎(以及如何:))我可以影響這種行爲? 非常感謝

回答

2

在Web上進行了一些研究之後,我發現一個好的做法應該是將自定義css(使用h:outputStylesheet)放在頁面的末尾(或更好的模板)。這樣它們被導入到生成的HTML頭部分的末尾。

0

我找到可靠工作的唯一方法是在每個重寫的RichFaces規則後面添加一個!important。但這很髒。

+0

嗨!感謝您的回答!這真是一個極端的解決方案! :) – Federico

+0

@Federico - 我當然希望有人有更好的一個。我對自己感興趣:) – kostja

+0

看到我的答案:) – Federico