在facelet页面中使用#{resource}值表达式时生成两次上下文路径

时间:2012-10-05 18:46:42

标签: jsf jsf-2 resources

我在facelets页面中使用表达式#{resource['library:file']}来生成一个带有RichFaces(4.2.2.Final)工具栏中图像的ajaxified按钮。

<h:form>
    <rich:toolbar height="40px">
        <rich:toolbarGroup>
            <a4j:commandButton value="my label" image="#{resource['icons:icon32.gif']}"/>
    </rich:toolbarGroup>
    </rich:toolbar>
</h:form>

为a4j生成以下代码:commandButton,其中生成上下文路径两次。

<input type="image" alt="my label" 
    src="/com.test.my.context/com.test.my.context/faces/javax.faces.resource/icon32.gif?ln=icons" 
    value="my label" 
    onclick="RichFaces.ajax(&quot;j_idt73:j_idt76&quot;,event,{&quot;incId&quot;:&quot;1&quot;} );return false;" 
    name="j_idt73:j_idt76" id="j_idt73:j_idt76">

如果我在<h:graphicImage library="icons" name="icon32.gif"/>中使用rich:toolbarGroup,则生成的网址是正确的。

此外,我已经使用background: url(#{resource['library:file']})通过css包含图片,但我没有提供我搜索到的结果,但是它有效!

  1. 表达式#{resource['library:file']}只能在css文件中使用吗?
  2. 我的代码中的问题在哪里?

1 个答案:

答案 0 :(得分:0)

根据JIRA Issue RF-12523,它已在4.3.1.Final中修复。