通过CSS覆盖自定义JBoss 7中的Richfaces外观

时间:2012-09-11 12:56:32

标签: jsf richfaces jboss7.x

在我的richfaces 4.2.0应用程序中,所有页面都使用相同的模板:

<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 个答案:

答案 0 :(得分:2)

在对网络进行一些研究之后,我发现一个好的做法应该是在页面末尾(或更好的模板)放置自定义css(使用 h:outputStylesheet ) 。这样,它们将在生成的HTML的head部分的末尾导入。

答案 1 :(得分:0)

我找到可靠工作的唯一方法是在每个重写的RichFaces规则后面添加!important。但这很脏。