使用<h:head>而不是<head>时,不会应用自定义CSS

Val*_*lva 0 css java jsf jsf-2

如果我把:

<head>
//..
</head>

<body>
//..
</body>
Run Code Online (Sandbox Code Playgroud)

我的CSS样式正确应用,但当我改为:

<h:head>
//..
</h:head>

<h:body>
//..
</h:body>
Run Code Online (Sandbox Code Playgroud)

我的风格似乎错了CSS的某些部分.

为什么会这样?

更新: 为了简化我的问题,我将在下面显示两个图像:

没有

<h:head>.. <h:body> (这是正确的CSS样式)

好的

<h:head>..<h:body>
Run Code Online (Sandbox Code Playgroud)

有错误

我只是改变了同样的事情,这个错误发生了.

我是关于JSF的新手,我必须做些什么?

更新2: 我正在使用Rich Faces 4,我意识到的一件事就是在标签的末尾出现了一个脚本:

<link type="text/css" rel="stylesheet" href="/brainset/rfRes/skinning.ecss.xhtml?db=eAHL6rC8BQAEkAIG">
Run Code Online (Sandbox Code Playgroud)

我没有把它,这只出现

> <h:head> ... <h:body>
Run Code Online (Sandbox Code Playgroud)

标签.我认为我的风格被RichFaces所取代,包括这个'skinning.ecss'.

Val*_*lva 5

RichFaces 4被覆盖了我的风格,所以要禁用蒙皮,我们必须使用如下参数:

<context-param>
    <param-name>org.richfaces.skin</param-name>
    <param-value>plain</param-value>
</context-param>
<context-param>
    <param-name>org.richfaces.enableControlSkinning</param-name>
    <param-value>false</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)

这解决了我的问题;)

资源