In the current EL 2.2 version, you cannot nest EL expressions nor String-concatenate EL variables that way. Use <c:set>
to prepare the dynamic key before using it in another EL expression by simply inlining the EL expression in a string:
<c:set var="resourceName" value="images:primefaces-ui/#{car.manufacturer}.jpg" />
<p:graphicImage value="#{resource[resourceName]}"/>
An alternative is simply using library
and name
attributes instead of generating an URL based on those via #{resource}
mapping:
<p:graphicImage library="images" name="primefaces-ui/#{car.manufacturer}.jpg" />
Update: since EL 3.0, you can use the +=
operator to String-concatenate EL variables, if you really can't use library/name
for some reason.
<p:graphicImage value="#{resource['images:primefaces-ui/' += car.manufacturer += '.jpg']}"/>
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…