JSF2.0 URL问题 - 来自JavaScript资源的图像

时间:2011-08-04 12:25:42

标签: javascript resources jsf-2

我是JSF的新手,我已经找了2天来解决这个问题。

我有一个具有以下文件夹结构的Tomcat服务器:

...
  project_name
    jfs
       ...
       analysis.xhtml
       reports
          reports.xhtml
    resources
       javascript
          parameterPanel.js
       images
          loading.png

在analysis.xhtml和reports.xhtml文件中,我添加了如下参数Panel.js:

    <h:outputScript library="javascript" name="parameterPanel.js"/>

在parameterPanel.js中我正在使用loading.png ... 我应该如何将URL写入该png?

我试过这样:

  • 'url(../ resources / images / loading.png)' - 分析发现png,报告没有
  • 'url(../../ resources / images / loading.png)' - 报告发现png,分析没有

还是有另一个解决这个问题的方法吗?

我有点困惑......

谢谢!

2 个答案:

答案 0 :(得分:2)

通过CSS指定这些图像。

/resources/css/style.css

.parameterButtonImage {
    background-image: url(#{resource['images/parameter/parameter_button_doubleArrow_down.png']});
}

.parameterButtonImage.open {
    background-image: url(#{resource['images/parameter/parameter_button_doubleArrow_up.png']});
}

(我假设有问题的HTML元素有class="parameterButtonImage"

加载它:

<h:outputStylesheet name="css/style.css" />

(这样JSF会关注解析#{resource}路径)

按如下方式修改你的JS(假设是MooTools):

function toggleParametersPanel() { 
    $('parameterButtonImage').toggleClass('open');
    new Fx.Slide('parameterPanelContent').toggle();
}

答案 1 :(得分:0)

您必须像这样编写您的URL相对

<img src="${pageContext.request.contextPath}/images/loading.png" />