Css JSF加载静态资源的资源

Css JSF加载静态资源的资源,css,jsf,resources,primefaces,Css,Jsf,Resources,Primefaces,我们重写了javax.faces.application.ResourceHandlerWrapper和javax.faces.application.ResourceWrapper,从文件系统加载静态资源,例如css文件。我们如何才能实现这种资源加载机制也适用于从文件系统新加载的css文件中引用的资源? 谢谢你的帮助 在CSS文件中使用EL表达式{resource}动态引用它们,而不是使用硬编码路径,如/context/resources/someLibrary/somePath/someFi

我们重写了
javax.faces.application.ResourceHandlerWrapper
javax.faces.application.ResourceWrapper
,从文件系统加载静态资源,例如css文件。我们如何才能实现这种资源加载机制也适用于从文件系统新加载的css文件中引用的资源?
谢谢你的帮助

在CSS文件中使用EL表达式
{resource}
动态引用它们,而不是使用硬编码路径,如
/context/resources/someLibrary/somePath/someFile.ext
或其他内容

例如

.foo{
背景图像:url(#{resource['someLibrary:somePath/foo.ext']})
}
.酒吧{
背景图像:url(#{resource['someLibrary:bar.ext']})
}
巴兹先生{
背景图像:url(#{resource['somePath/baz.ext']})
}
穆先生{
背景图像:url(#{resource['moo.ext']})
}
哪一个会参考

WebContent
|--资源
||--someLibrary
|| |--somePath
|| |`--foo.ext
||`--bar.ext
||--somePath
||`--baz.ext
|`--moo.ext
:

这样,JSF默认资源处理程序将用正确的
/javax.faces.resource
URL替换它们,这些URL将依次通过资源处理程序。

谢谢。我们已经使用了EL表达式
#{resource}
。我比较了
url
中的拼写。我们的是
url(“#{resource['someLibrary:somePath/foo.ext']}”)
。我修改了双引号,但没用。那样应该可以很好地工作。显然,自定义资源处理程序的工作并不完全正确。运行调试器来调查它是如何失败的,然后我们可以讨论它。