<p:graphicImage value="#{resource['images:primefaces-ui/#{car.manufacturer}.jpg']}"/>
Run Code Online (Sandbox Code Playgroud)
我想首先计算内部el,然后使用资源API计算路径.我试过<c:set>
tag但它的变量也是EL,所以它没有任何区别.
Bal*_*usC 23
在当前的EL 2.2版本中,您不能以这种方式嵌套EL表达式或String-concatenate EL变量.用于<c:set>
在将动态密钥用于另一个EL表达式之前通过简单地在字符串中内联EL表达式来准备动态密钥:
<c:set var="resourceName" value="images:primefaces-ui/#{car.manufacturer}.jpg" />
<p:graphicImage value="#{resource[resourceName]}"/>
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用library
和name
属性而不是基于那些通过#{resource}
映射生成URL :
<p:graphicImage library="images" name="primefaces-ui/#{car.manufacturer}.jpg" />
Run Code Online (Sandbox Code Playgroud)
更新:自EL 3.0以来,你可以使用+=
运算符来串联连接EL变量,如果library/name
由于某种原因你真的无法使用.
<p:graphicImage value="#{resource['images:primefaces-ui/' += car.manufacturer += '.jpg']}"/>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8585 次 |
最近记录: |