我有一个典型的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构造使用mywebapp/javax.faces.resource/3rdparty.css的URI时,这将破坏其中的相对引用,因为该路径现在将引用mywebapp/fonts/myspecialfont.woff。
有什么好的方法可以让JSF引用这些本地托管的第三方库来处理这种相对引用而不需要手动更改CSS呢?
发布于 2013-10-09 13:07:40
你有两个选择:
不幸的是,没有更多的工作可以做,因为资源是使用不同的路径呈现的&在库中&资源引用被指定为URL参数,而不是URL的一部分。
编辑:,我想突出显示第三个选项-编写一个自定义ResourceHandler。我不得不在这些线路上做点什么。你可以在-
http://roguexz.blogspot.in/2013/10/jsf-2-returning-resource-url-that-is.html
https://stackoverflow.com/questions/19256231
复制相似问题