我刚刚注意到<h:outputStylesheet/>
有转换器属性。在连接一个虚拟(直通)转换器后,什么也没有发生。经过仔细检查,尽管点击了浏览器刷新按钮,似乎转换器甚至没有被调用。
这个属性有什么好处吗?它只是各种设计决策的副作用吗?
我问的原因是,最好使用以下命令执行一些客户端或服务器端 CSS 处理less http://lesscss.org/或类似的,我认为这个属性可能会有所帮助。
这个属性有什么好处吗?它只是各种设计决策的副作用吗?
这确实是“设计使然”,因为组件扩展了UIOutput http://docs.oracle.com/javaee/6/api/javax/faces/component/UIOutput.html。它确实没有使用转换器做任何事情。
我问的原因是,用更少或类似的方式执行一些客户端或服务器端 CSS 处理会很好,我认为这个属性可能会有所帮助。
您可以在加载的 CSS 资源中以通常的方式使用 EL<h:outputStylesheet>
。最初实现这一点是为了正确解析背景图像资源。
.some {
background-image: url(#{resource[images/some.png]});
}
上面的例子假设图像位于/resources/images/some.png
。如果您使用的是库,则需要在资源名称前添加前缀libraryname:
.
.some {
background-image: url(#{resource[somelibrary:images/some.png]});
}
假设图像位于/resources/somelibrary/images/some.png
.
但除此之外,您基本上可以在 CSS 资源中使用 EL 来做其他事情。例如。动态解析颜色、字体等。
.some {
color: #{theme.color};
font: #{theme.font};
}
Where #{theme}
可以是会话,也可以是应用程序范围的托管 bean。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)