我们覆盖javax.faces.application.ResourceHandlerWrapper
并javax.faces.application.ResourceWrapper
从文件系统加载静态资源,例如 css 文件。我们如何才能实现这种资源加载机制也适用于文件系统中新加载的 css 文件中引用的资源?谢谢你的帮助。
问问题
1876 次
1 回答
2
使用 CSS 文件中的 EL 表达式#{resource}
来动态引用它们,而不是使用硬编码路径之类的/context/resources/someLibrary/somePath/someFile.ext
东西。
例如
.foo {
background-image: url(#{resource['someLibrary:somePath/foo.ext']})
}
.bar {
background-image: url(#{resource['someLibrary:bar.ext']})
}
.baz {
background-image: url(#{resource['somePath/baz.ext']})
}
.moo {
background-image: url(#{resource['moo.ext']})
}
这将参考
WebContent
|-- resources
| |-- someLibrary
| | |-- somePath
| | | `-- foo.ext
| | `-- bar.ext
| |-- somePath
| | `-- baz.ext
| `-- moo.ext
:
这样,JSF 默认资源处理程序将用正确的 URL 替换它们,这些/javax.faces.resource
URL 反过来也会通过资源处理程序。
于 2012-08-14T17:32:22.987 回答