我有一个典型的 JSF 项目设置:
myproject
|-- src/main/webapps
| |-- resources
| | |-- css
| | | |-- 3rdparty.css
| | |
| | |-- fonts
| | |
| | |-- myspecialfont.woff
| |
然后在我的 JSF html 中:
<h:outputStylesheet name="3rdparty.css" library="css"/>
这很好用,因为如果我需要升级,我可以保持目录一致。
但是,在这种情况下,3rdparty.css 文件包含一个相对引用:
@font-face {
font-family: 'Lato';
src: url('../fonts/myspecialfont.woff');
}
由于 h:outputStylesheet 构造了要使用的 URI,mywebapp/javax.faces.resource/3rdparty.css
这将破坏其中的相对引用,因为该路径现在将引用mywebapp/fonts/myspecialfont.woff
.
有没有一种好方法可以让 JSF 引用的这些本地托管的 3rd 方库来处理这种相对引用,而无需手动更改 CSS?