JSF 中资源 API 的 el 表达式的嵌套
<p:graphicImage value="#{resource['images:primefaces-ui/#{car.manufacturer}.jpg']}"/>
我想先计算内部 el,然后使用资源 API 计算路径。 我尝试了
标签,但它的变量也是一个 EL,所以它没有任何区别。
<p:graphicImage value="#{resource['images:primefaces-ui/#{car.manufacturer}.jpg']}"/>
I would like to calculate the inner el first and then calculate the path using resource API.
I tried <c:set>
tag but its variable is also an EL, so it does not make any difference.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果由于某种原因您确实无法使用
library/name
,您可以使用+=
运算符来字符串连接 EL 变量。该运算符是在 EL 3.0(Java EE 6,2009 年 12 月)中引入的。在旧版本中,您不能以这种方式嵌套 EL 表达式或字符串连接 EL 变量。您需要使用
< ;c:set>
在另一个 EL 表达式中使用动态密钥之前,只需将 EL 表达式内联到字符串中即可准备动态密钥:另一种方法是简单地使用
library
和name
属性,而不是根据通过#{resource}
映射生成 URL:You can use the
+=
operator to String-concatenate EL variables, if you really can't uselibrary/name
for some reason.This operator was introduced in EL 3.0 (Java EE 6, December 2009). In older versions, you cannot nest EL expressions nor String-concatenate EL variables that way. You need to use
<c:set>
to prepare the dynamic key before using it in another EL expression by simply inlining the EL expression in a string:An alternative is simply using
library
andname
attributes instead of generating an URL based on those via#{resource}
mapping: