Я пытаюсь найти решение для загрузки имен изображений из базы данных и отображения их на веб-странице.
В основном, когда я показываю изображение, я делаю это так:
<h:graphicImage value="#{resource['mywebapp:image.png']}">
</h:graphicImage>
Так что теперь вместо image.png я хотел бы динамически загружать альтернативные изображения. Проблема в том, что я не могу использовать вложенное выражение EL внутри другого (по крайней мере, я не узнал как). Поместить логику в бэк-компонент также не поможет в этом случае, потому что тогда она выглядит так:
<img src="#{resource['mywebapp:somedynamicallyloadedimagename.png']}">
</img>
Единственное, что работает, это непосредственно генерирует путь в компоненте поддержки:
public String getImage() {
this.image = "/mywebapp/javax.faces.resource/"+this.image+".jsf?ln=images";
return image;
}
Однако это «решение» далеко не элегантно, так как все жестко запрограммировано, и это не то, что я собираюсь добавить в производственное приложение.
Что было бы хорошим решением для этого? Я хотел бы избежать помещения изображений в базу данных и использования простых лиц ..
Так как я не опытный кодер JSF (как вы, вероятно, можете сказать), я был бы очень признателен за некоторые мысли на эту тему ... заранее спасибо!