【问题标题】:Should I use URLs as links to images and other resources or should I use the EL #{resource...}我应该使用 URL 作为图像和其他资源的链接还是应该使用 EL #{resource...}
【发布时间】:2011-12-16 18:24:26
【问题描述】:

我将图像、css 和 javascript(文件夹具有相同名称)文件保存在 webapp 根目录的资源文件夹中。我应该使用 URL 来在例如图形图像标签中显示图像,还是应该使用 #{resources:libraryName..}

【问题讨论】:

    标签: jsf jakarta-ee


    【解决方案1】:

    只需使用为此提供的<h:outputStylesheet><h:outputScript><h:graphicImage> 组件,其中您在name 属性中指定相对于资源文件夹的路径:

    <h:outputStylesheet name="css/style.css" />
    <h:outputScript name="js/script.js" />
    <h:graphicImage name="images/logo.png" />
    

    JSF 会担心设置正确的 URL。

    #{resource} 语法仅在 CSS 文件中用于引用背景图像。

    另见:

    【讨论】:

    • 啊,好吧。这就是#{resource} 的用途。谢谢。
    • 但是如果图像是用常规的 img-tag(它的模板)制作的呢?我应该改用等效的 JSF 吗?如果不需要,我是否需要在 css/js/images 前面附加“资源”?
    • 您绝对应该使用预期的 JSF 组件来更改它。否则,您确实需要引入一些丑陋的样板代码来为原始 HTML 元素的每个实例获取正确的相对 URL。
    • 当 JSF 页面本身位于文件夹中时,则不会。您需要将图像 URL 更改为指向域相关 URL &lt;img src="#{request.contextPath}/resources/images/nav/settings.png" /&gt;。那些 JSF 组件完全消除了您手中的这种样板和担忧,并且您最终也减少了代码。
    • 哦,我明白了。一如既往的大帮助!
    猜你喜欢
    • 2017-06-24
    • 2011-06-10
    • 1970-01-01
    • 2017-05-22
    • 1970-01-01
    • 2011-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多