Вопрос по velocity – Как включить статический или загруженный файл в макрос Velocity через #include

5

Я пытаюсь оптимизировать некоторые мобильные веб-страницы (или точнее число запросов к серверу), вставляя некоторые CSS в HTML, загруженный с первоначальным запросом.

Эти страницы доставляются из нашей CMS на основе Vosao и используют макросы Apache Velocity.

Это работает нормально, как и ожидалось.

<link rel="stylesheet" type="text/css" media="screen" href="/file/downloads/contact.css" 

Это не удается

<style>
#include( "/file/downloads/contact.css" )
</style>

так как Velocity не может найти файл, с этим выводом

org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource '/file/downloads/contact.css'

а это в логах

org.apache.velocity.runtime.log.CommonsLogLogChute log: ResourceManager : unable to find resource '/file/Downloads/contact.css' in any resource loader.
E 2012-06-20 13:59:19.688
org.apache.velocity.runtime.log.CommonsLogLogChute log: #include(): cannot find resource '/file/Downloads/contact.css', called at vm[line 7, column 3]

Я прочитал документацию по скорости (о свойстве ресурса ROOT) и даже потратил некоторое время на исходный код. Я поиграл со свойствами для этого во время загрузки .... и не повезло.

Как я могу заставить Velocity включить либо статический файл в мой / war dir, либо получить его для включения по пути?

Какой загрузчик ресурсов вы используете? Кроме того, есть ли другие директивы #include или #parse в том же шаблоне? Если да, на какой путь они ссылаются? gerry
Я исправил форматирование. Вам просто нужно выбрать его и нажать Ctrl + K. :) UltraInstinct
Да, с помощью & lt; link & gt; работает нормально, потому что вы просто "повторяете" имя файла, на который должна указывать ссылка. Я хочу включить контент, чтобы уменьшить количество отдельных http-запросов к серверу и убедиться, что при первом показе контента присутствует правильный CSS. Andrew Mackenzie
Я никогда не пытался включить внешний CSS-файл таким образом. Использование & lt; link & gt; работал для меня, а также добавление фактических правил CSS в & lt; style & gt; тег. Chris Tybur

Ваш Ответ

2   ответа
1

Я успешно использовал, как это:

<style type="text/css">
  #include("my/path/to/file/file.css")
</style>

Может быть, ваш путь к файлу неверен?

0

Я думаю, #include выполняет загрузку другого файла шаблона (.vm), а не файла CSS.

Похожие вопросы