我正在使用Richface 3.3.3 Final和JSF 1.2。我有一个自定义样式表(将包含在我的 WAR 中),它不会影响我在页面上使用的丰富元素,而且这就是它应该的工作方式 - 丰富的样式更接近。但是我需要以某种方式"跳过"丰富的样式:覆盖丰富的样式是如此痛苦。有谁知道一个"开关"可以关闭丰富的造型?
根据RichFaces文档,您应该添加:
<context-param>
<param-name>org.richfaces.enableControlSkinning</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<param-name>org.richfaces.skin</param-name>
<param-value>plain</param-value>
</context-param>
到您的网络.xml。皮肤"纯色"不包含外观参数,旨在将 RichFaces 组件嵌入到具有自己样式的现有项目中。
即使是普通的皮肤,也包括几个css类。我所做的是定义一个自定义皮肤,例如
<context-param>
<param-name>org.richfaces.SKIN</param-name>
<param-value>myskin</param-value>
</context-param>
并在类路径中包含空文件 myskin.skin.properties
我真的怀疑你是否可以"关闭"默认的富人脸样式类。我遇到了这个问题,根据我的经验,我提出了这个解决方案。
如果您尝试引用WAR
外部的自定义样式表(我的意思是如果它放置在 Web 服务器中而不是将其放置在您的 war 文件中),请尝试将其放在您的 xhtml 页面中。
此外,如果您要从战争中的自定义文件夹导入自定义 css 文件,请尝试将 css 类放在 xhtml 页面中。
下面是示例代码。正如我所说,在遇到同样问题后,我根据我的经验来回答这个问题。
在你的 xhtml 页面中,
<style type="text/css">
.rich-stglpanel-body {
background-color: #FFFFFF;
border: 1px solid #73C5E3;
font-family: Tahoma,Arial,Geneva,sans-serif;
font-size: 11px;
width: 877px;
}
</style>
你不能关闭样式。但是,您可以使用"普通"皮肤来避免某些样式。将此添加到您的web.xml
<param-name>org.richfaces.SKIN</param-name>
<param-value>plain</param-value>
</context-param>
但是,更改皮肤会影响您的所有页面。但是,如果您不想将其应用于所有页面,则应根据 bean 属性有条件地设置skin
,如下所示。
<param-name>org.richfaces.SKIN</param-name>
<param-value>#{myBean.skinName}</param-value>
</context-param>