jsf - 在 JSF 中为资源 API 嵌套 el 表达式

标签 jsf el

<p:graphicImage value="#{resource['images:primefaces-ui/#{car.manufacturer}.jpg']}"/>

我想先计算内部 el ,然后使用资源 API 计算路径。
我试过 <c:set>标签,但它的变量也是一个 EL,所以它没有任何区别。

最佳答案

在当前的 EL 2.2 版本中,您不能以这种方式嵌套 EL 表达式或字符串连接 EL 变量。使用 <c:set> 通过简单地在字符串中内联 EL 表达式,在另一个 EL 表达式中使用它之前准备动态 key :

<c:set var="resourceName" value="images:primefaces-ui/#{car.manufacturer}.jpg" />
<p:graphicImage value="#{resource[resourceName]}"/>

另一种方法是简单地使用 libraryname属性,而不是通过 #{resource} 基于这些属性生成 URL映射:
<p:graphicImage library="images" name="primefaces-ui/#{car.manufacturer}.jpg" />

更新 : 从 EL 3.0 开始,您可以使用 +=运算符字符串连接 EL 变量,如果你真的不能使用 library/name因为某些原因。
<p:graphicImage value="#{resource['images:primefaces-ui/' += car.manufacturer += '.jpg']}"/>

关于jsf - 在 JSF 中为资源 API 嵌套 el 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7975089/

相关文章:

jsp - 如何在 EL 表达式语言 ${} 中访问对象

jsf - 如何将响应大小和时间插入页面本身,至少部分?

jsf - <f :setPropertyActionListener> Parent is not of type ActionSource

jsf - 有人可以描述 Java Web 编程中基于组件的范例吗?

java - 访问 Java 变量时 Eclipse JSP Javascript 表达式语言 EL 解析错误

jsf-2 - 获取EL中字符串的长度

java - 手机正则表达式

javascript - 当图像在同一行时 commandLink 不工作

jsf - Tomcat 8(和 9)强制行为,空字符串被错误地设置为空字符串

css - FontAwesome 5 javax.el.E​​LException : Failed to parse the expression [#{resource['atlas-layout:fonts/fa-brands-400. eot]}]