我知道这没有多大区别,但在JSF2中,我可以通过以下两种方式之一输出资源(例如css):
a)使用标准html <link>组件和到该组件的绝对路径。这将被视为文本,因此不会内置到组件中。
b)使用jsf <h:stylesheet>并设置其名称和库。
现在,如果我正在编写主模板站点,一些不会改变的东西(修复),我是不是最好使用纯文本并给出资源的绝对路径?在使用该组件和使用jsf组件之间,性能是否有任何变化,即使是微不足道的?
JSF是否优化了对此的访问,以便不必在每次呈现页面时都定位资源?
这同样适用于所有类型的资源,图像和javascript。
发布于 2012-02-09 19:52:08
它不是<h:stylesheet>,而是<h:outputStylesheet>
JSF组件在渲染时被转换为纯html,因此当您看到页面的源代码时,您将找不到任何jsf组件,所有的jsf组件都会自动转换为相应的html组件。
此标记将转换为html,如下所示
<h:outputStylesheet library="css" name="style.css" />HTML输出…
<link type="text/css" rel="stylesheet"
href="/JavaServerFaces/faces/javax.faces.resource/style.css?ln=css" />警告
When render CSS file via <h:outputStylesheet /> tag, remember put the <h:head />
tag as well; Otherwise the css file will not render successful.参考http://www.mkyong.com/jsf2/how-to-include-cascading-style-sheets-css-in-jsf/
https://stackoverflow.com/questions/9210301
复制相似问题