【发布时间】:2012-06-12 18:17:24
【问题描述】:
我想将 JSF 的 Facelets 模板文件放在一个 JAR 文件中。
我试图用 EL 来引用它
<ui:composition template="#{resource['templates:template_pe_layout.xhtml']}">
它非常适合 CSS 或图像,但不适用于合成模板。
我怎样才能实现目标?
【问题讨论】:
我想将 JSF 的 Facelets 模板文件放在一个 JAR 文件中。
我试图用 EL 来引用它
<ui:composition template="#{resource['templates:template_pe_layout.xhtml']}">
它非常适合 CSS 或图像,但不适用于合成模板。
我怎样才能实现目标?
【问题讨论】:
#{resource} 表达式最初设计用于在 CSS 文件中仅像这样使用
.someclass {
background-image: url(#{resource['somelibrary:img/some.png']});
}
不打算在<h:outputStylesheet>、<h:outputScript> 或<h:graphicImage> 中使用,而应按如下方式使用:
<h:outputStylesheet library="somelibrary" name="css/some.css" />
<h:outputScript library="somelibrary" name="js/some.js" />
<h:graphicImage library="somelibrary" name="img/some.png" />
至于模板,只需在其中指定完整的/META-INF/resources 相对路径即可。
<ui:composition template="/templates/template_pe_layout.xhtml">
【讨论】:
/resources文件夹中,而应该直接在webroot中。
/resources它可以工作。