首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 ><h:outputStylesheet>与相关参考文献

<h:outputStylesheet>与相关参考文献
EN

Stack Overflow用户
提问于 2013-10-08 19:09:42
回答 1查看 1K关注 0票数 1

我有一个典型的JSF项目设置:

代码语言:javascript
复制
myproject
  |-- src/main/webapps
  |    |-- resources
  |    |    |-- css
  |    |    |     |-- 3rdparty.css
  |    |    |      
  |    |    |-- fonts  
  |    |         |    
  |    |         |-- myspecialfont.woff
  |    |         

然后在我的JSF html中:

代码语言:javascript
复制
 <h:outputStylesheet name="3rdparty.css" library="css"/>

这很好,因为我可以保持目录一致,如果我需要升级。

但是,在本例中,3rdparty.css文件包含一个相对引用:

代码语言:javascript
复制
@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呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-09 13:07:40

你有两个选择:

  1. 不要使用outputStyleSheet,而是将其直接包含在模板中。
  2. 修改CSS文件内容(如TemarV建议的那样)

不幸的是,没有更多的工作可以做,因为资源是使用不同的路径呈现的&在库中&资源引用被指定为URL参数,而不是URL的一部分。

编辑:,我想突出显示第三个选项-编写一个自定义ResourceHandler。我不得不在这些线路上做点什么。你可以在-

http://roguexz.blogspot.in/2013/10/jsf-2-returning-resource-url-that-is.html

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19256231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档