Nano Hash - криптовалюты, майнинг, программирование

Изображения не отображаются при использовании h:outputStylesheet

Я использую механизм управления ресурсами JSF 2.0. В /webapp/resources у меня есть 3 подпапки: изображения, сценарии, стили. И в моем файле шаблона myLayout.xhtml я ссылаюсь на таблицу стилей следующим образом:

    <h:outputStylesheet name="styles/styles.css"/>

Я поместил все свои фоновые изображения в свой файл styles.css следующим образом:

    body {
           background: #fff url(../images/body_background.png) repeat -x;
    }

    #header {
           background: transparent url(../images/header_bg.png) no-repeat top right;
    }

Все лицевые панели моей страницы находятся в подпапке /webapp/facelets, а файлы шаблонов — в /webapp/template. Моя страница facelet page.xhtml ссылается на шаблон следующим образом:

   <ui:compsition .... template="/template/myLayout.xhtml">

После этого страница выглядит правильно, за исключением того, что все фоновые изображения отсутствуют. Я проверил журнал и нашел следующие ошибки:

    java.io.FileNotFoundException: SRVE0190: File not found: /javax.faces.resource/images/body_background.png
    java.io.FileNotFoundException: SRVE0190: File not found: /javax.faces.resource/images/header_bg.png

Затем я меняю ссылку URL в файле css с

    url(../images/body_background.png)

Для URL(/i

20.02.2013

Ответы:


1

Вам нужно ссылаться на ресурсы изображения CSS через #{resource} в EL, чтобы он печатал правильный URL-адрес ресурса JSF.

body {
    background: #fff url(#{resource['images/body_background.png']}) repeat -x;
}

#header {
    background: transparent url(#{resource['images/header_bg.png']}) no-repeat top right;
}
20.02.2013
  • Спасибо за напоминание! Если я захочу добавить разные версии ресурсов, будет ли работать этот синтаксис? Итак, теперь мой файл изображения будет находиться в /resources/default/1_0/images вместо /resources/images. 23.02.2013
  • Библиотека должна иметь префикс, как в #{resource['default:images/some.png']}. 23.02.2013
  • Что с версией? Я знаю, что по умолчанию будет использоваться самая высокая версия. Но что, если теперь у меня есть 2 версии 2_0, 1_0, очевидно, я не хочу, чтобы мой css 1_0 ссылался на изображения 2_0. 23.02.2013
  • @BalusC любое другое решение? Я не могу изменить все файлы пользовательского интерфейса jquery? 02.11.2013
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..