Jdeveloper Weblogic: как получить путь к развернутому образу

Я настраиваю веб-приложение, которое должно генерировать PDF-файл выбранной строки из таблицы. В PDF-файле есть фоновое изображение ($image.png), которое находится в папке, отличной от папки XSL-файла ($template).

Управляемый компонент получает шаблон и с помощью XML создает PDF-файл.

Дорожка:

компонент (ViewController\Application Sources\view\bean)

$ изображение (Вьюконтроллер\Веб-контент\ресурсы\фон)

$template (ViewController\Веб-контент\ресурсы\таблица стилей)

Единственный способ получить изображение — использовать абсолютный путь (файл:\\C:\some\folder\image.png).

<fo:layout-master-set>
    <fo:simple-page-master page-height="29.7cm" page-width="21cm">

        <fo:region-body background-image="file:\\\background/image.png"/>

    </fo:simple-page-master>
</fo:layout-master-set>

Я пытаюсь получить относительный путь к проекту, когда проект запускается с помощью Weblogic.


person ChrisWk    schedule 25.10.2019    source источник
comment
Можете ли вы передать (абсолютный путь) значение $image в ваш XSLT в качестве параметра? См., например, stackoverflow.com/a/58389757/4092205.   -  person Tony Graham    schedule 25.10.2019
comment
Я бы сделал это, если бы мог, я работаю над проектом, чтобы перейти на другой сервер, над которым я не контролирую. Поэтому единственное разумное решение, которое я подумал, - это дать ему относительный путь.   -  person ChrisWk    schedule 25.10.2019
comment
Использование относительного пути должно работать. Это должно быть относительно файла FO. Вместо этого вы можете установить атрибут xml:base (w3.org/TR/xmlbase) в файле FO, чтобы средство форматирования оценивало свойство background-image относительно известного местоположения независимо от местоположения файла XSL-FO.   -  person Tony Graham    schedule 25.10.2019
comment
Спасибо за быстрый ответ, я пытаюсь найти путь к файлу XSL-FO. Поскольку операция с отверстием выполняется через библиотеку FOP, я пытаюсь найти временное расположение файла xsl-fo.   -  person ChrisWk    schedule 25.10.2019
comment
Проверьте код, который вы используете для вызова средства форматирования, он может иметь необязательный параметр для установки идентификатора системы или базового пути для относительных ссылок.   -  person Kevin Brown    schedule 25.10.2019
comment
Извините за задержку. На данный момент я могу вызвать изображение по абсолютному пути. Не могу программно получить путь. Я буду искать способ получить относительный путь. Спасибо за проверку.   -  person ChrisWk    schedule 29.10.2019


Ответы (1)


Путь к файлу начинается от context-root, для получения которого я развернул проект в локальном weblogic, а из консоли я получил context-root.

Я все еще не уверен в правильном пути для моей проблемы, но на данный момент мне удалось отобразить изображение, используя:

<fo:region-body background-image="url('http://127.0.0.1:7101/context- 
root/path/to/img/image.png')"/>

Примечание. Теперь я использую тег «url» вместо тега «file:///».

Следующим шагом будет получение относительного пути.

Я хотел бы поблагодарить всех, кто попытался ответить на мой вопрос.

person ChrisWk    schedule 30.10.2019