2017-02-03 15 views
0

Я получаю org.apache.velocity.exception.ResourceNotFoundException: Не удается найти ошибку ресурса. может кто-то помочь мне разобраться в проблеме. Я прикрепил свой код ниже. Любая помощь была бы оценена. Спасибо.Ошибка при загрузке шаблона Velocity в Spring MVC (org.apache.velocity.exception.ResourceNotFoundException: не удается найти ресурс)

I placed the .vm in the class path src folder.

Controller look like 

@RequestMapping("/velocity") public String velocity(final HttpServletRequest request, final HttpServletResponse response) { final VelocityEngine ve = new VelocityEngine(); ve.setProperty("resource.loader", "class"); ve.setProperty("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader"); ve.init(); /* next, get the Template */ final Template t = ve.getTemplate("index.vm"); /* create a context and add data */ final VelocityContext context = new VelocityContext(); context.put("members", "sharat"); /* now render the template into a StringWriter */ final StringWriter writer = new StringWriter(); t.merge(context, writer); final String Html = writer.toString(); return Html; }

пружинно-servlet.xml

<bean id="velocityConfig" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer"> 
    <property name="resourceLoaderPath" value="/" /> 
</bean> 

<bean id="viewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver"> 
    <property name="cache" value="true"/> 
    <property name="prefix" value=""/> 
    <property name="suffix" value=".vm"/> 
</bean> 

Ошибка:

org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'index.vm' 
org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource(ResourceManagerImpl.java:474) 
org.apache.velocity.runtime.resource.ResourceManagerImpl.getResource(ResourceManagerImpl.java:352) 
org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1533) 
org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1514) 
org.apache.velocity.app.VelocityEngine.getTemplate(VelocityEngine.java:373) 

velocity.properties

resource.loader = class file.resource.loader.description = Velocity File Resource Loader file.resource.loader.class = org.apache.velocity.runtime.resource.loader.FileResourceLoader file.resource.loader.path = vm file.resource.loader.cache = false file.resource.loader.modificationCheckInterval = 0

ответ

0

Вы должны заменить

resource.loader = class 

с

resource.loader = file 

Кроме того, если вы находитесь в веб-приложение, вы должны проверить WebappResourceLoader от Velocity Tools подпроекта, который будет помогите вам указать путь относительно корня webapp. Вы можете легко найти онлайн how to configure Spring with Velocity Tools.

В противном случае вам необходимо указать абсолютный путь для свойства file.resource.loader.path или убедиться, что текущий путь выполнения вашего контейнера webapp содержит каталог vm с вашими шаблонами.

+0

Я могу решить проблему. Очень ценю вашу помощь. – sharat

 Смежные вопросы

  • Нет связанных вопросов^_^