Velocity не может найти ресурс с помощью webApp - PullRequest
2 голосов
/ 01 ноября 2010

Я пытаюсь создать веб-приложение, используя сервер GlashFish и Velocity.

Но я получаю следующую ошибку:

    SEVERE: ResourceManager : unable to find resource 'temp.vm' in any resource loader.
SEVERE: org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'temp.vm'

speed.proprieties:

resource.loader=webapp
webapp.resource.loader.class=org.apache.velocity.tools.view.WebappResourceLoader
webapp.resource.loader.path=/WEB-INF/templates/

Сервлет:

 ve.setApplicationAttribute("javax.servlet.ServletContext", context);
            template = ve.getTemplate("temp.vm");

Я использую IDE NetBeans, и мой файл temp.vm находится в / WEB-INF / templates /.Должно быть, что-то, чего мне не хватает, но я просто не могу понять, что это такое.

Спасибо за помощь!

Ответы [ 3 ]

3 голосов
/ 01 ноября 2010

Другим вариантом может быть использование загрузчика ресурсов пути к классам и размещение ваших файлов .vm в /WEB-INF/classes.

2 голосов
/ 06 ноября 2012

поместите шаблон в каталог /WEB-INF/classes/template/temp.vm и используйте ve.getTemplate ("template / temp.vm");

убедитесь, что загрузчик ресурсов настроен на ClasspathResourceLoader.

<bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean">
    <property name="velocityProperties">
    <props>
        <prop key="resource.loader">class</prop>
        <prop key="class.resource.loader.class">org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader</prop>
    </props>
    </property>
</bean>  
2 голосов
/ 14 ноября 2010

Я только что задал похожий вопрос:

Как загрузить шаблон скорости в EJB для использования в качестве почтового шаблона

Я использовал ClasspathResourceLoader и создал.jar, содержащий шаблоны.Поместите этот файл .jar в папку WEB-INF / lib, и он должен работать (по крайней мере, я смогу справиться с этой задачей).

Надеюсь, это поможет:)

С уважением, Алекс

...