Библиотека ресурсов игнорируется в h:graphicImage

У меня есть следующий тег:

<h:graphicImage value="Circle_Yellow.png" library="images" />

В моей папке у меня есть следующая структура:

/resources/images/.....
/WEB-INF/....
/*.xhtml

При визуализации это изображение отображается как:

<img src="Circle_Yellow.png">

Однако я вижу другие вещи, используя ресурсы, например

<script type="text/javascript" src="/www/javax.faces.resource/jquery/jquery.js.xhtmlln=primefaces"></script>

И если я пойду в /www/javax.faces.resource/Circle_Yellow.png?ln=images оно работает.

Так что я мог сделать неправильно, что моя библиотека игнорируется в h: graphicImage. Кроме того, это не просто изображение, у меня есть файл CSS, который тоже не работает.

Я пользуюсь моджаррой 2.1.16 и простыми лицами 3.4.1.

2 ответа

Решение

value Атрибут принимает URL, а не имя ресурса. Чтобы указать имя ресурса, используйте name приписывать.

<h:graphicImage library="images" name="Circle_Yellow.png" />

Смотрите также <h:graphicImage> пометить документацию для деталей.


Не имеет отношения к конкретной проблеме, ваше использование library атрибут не совсем правильный. Пожалуйста, внимательно прочитайте, для чего нужна библиотека ресурсов JSF и как ее использовать? Вы должны использовать его как

<h:graphicImage name="images/Circle_Yellow.png" />

Попробуйте использовать это,

<h:graphicImage value="resources/images/Circle_Yellow.png"/>

или же

<h:graphicImage library="images" name="Circle_Yellow.png" />

и включите свой CSS, как показано ниже

<h:outputStylesheet library="css" name="style.css" />
Другие вопросы по тегам