В текущей версии 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]}"/>
Альтернативой является просто использование library
иАтрибуты name
вместо создания URL-адреса на основе этих атрибутов с помощью сопоставления #{resource}
:
<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']}"/>