java - JSF h :outputStylesheet converter - dynamic css?

标签 java css jsf-2

我刚注意到 <h:outputStylesheet/>具有转换器属性。在将虚拟(直通)转换器连接到它之后,什么也没有发生。仔细观察,尽管点击了浏览器刷新按钮,似乎甚至没有调用转换器。

这个属性有什么用吗?它只是各种设计决策的副作用吗?

我问的原因是用 less 执行一些客户端或服务器端的 css 处理会很好或类似的,我认为这个属性可能有帮助。

最佳答案

Is this attribute good for anything? Is it just there as a side effect of various design decisions?

这确实是“设计使然”,因为该组件扩展了 UIOutput .它确实不使用转换器做任何事情。


The reason I ask is that it would be nice to perform some client- or server-side css processing with less or similar and I thought this attribute might help.

您可以在 <h:outputStylesheet> 加载的 CSS 资源中以通常的方式使用 EL .这最初是为了正确解析背景图像资源而实现的。

.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};
}

在哪里#{theme}可以是 session 或应用程序范围内的托管 bean。

关于java - JSF h :outputStylesheet converter - dynamic css?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8741903/

相关文章:

java - MouseListener/KeyListener 不工作(JPanel)

css - 从 JSF 页面中删除 Primefaces CSS 布局

jsf-2 - 使用 cookie 的“记住我”功能

最大高度元素内的 Safari 高度 100% 元素

css - 无法从 CodeIgniter 中的 View 中的外部 CSS 调用外部 CSS 属性

html - 使消息出现在屏幕中间

java - 如何在JSF页面下载文件

java - 在集群环境中使用 Quartz

java - 调用方法失败。消息负载的类型为 : String

java - java中捕获异常?