1

在我的 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 根本没有效果。

你知道我是否(以及如何:))我可以影响这种行为吗?非常感谢

4

2 回答 2

2

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

于 2012-09-11T13:22:11.117 回答
0

我发现可靠工作的唯一方法是!important在每个覆盖的 RichFaces 规则后面添加一个。但这是相当肮脏的。

于 2012-09-11T12:59:49.457 回答