Очевидно, вы только что вернули неверный URL-адрес или неправильно поняли, как URL-адрес изображения был разрешен относительно URL-адреса текущей страницы.
Во-первых, вам нужно определить абсолютный URL изображения. Это должен быть URL, который вы видите в адресной строке браузера, когда вы хотите получить изображение, например:
http://localhost:8080/contextname/images/foo.png
Если это возвращает правильное изображение, то вы должны убедиться, что значение <h:graphicImage>
в конечном итоге заканчивается тем же путем:
<img src="/contextname/images/foo.png" />
Вы можете достичь этого с помощью:
<h:graphicImage value="#{myObj.img}" />
, где #{myObj.img}
должен вернуть строку "images/foo.png"
.