Библиотека ресурсов игнорируется в 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" />