динамически загружать имена изображений из базы данных и отображать их с помощью jsf 2.0 - PullRequest
0 голосов
/ 13 марта 2012

Я пытаюсь найти решение для загрузки имен изображений из базы данных и отображения их на веб-странице. В основном, когда я показываю изображение, я делаю это так:

<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 (как вы, вероятно, можете сказать), я был бы очень признателен за некоторые мысли на эту тему ... заранее спасибо!

1 Ответ

1 голос
/ 13 марта 2012

Попробуйте

<h:graphicImage library="images" name="#{generated.name}" />
...