Galera estou fazendo uns testes com o Velocity e dei uma lida no tutorial “Introdução ao Velocity” aqui do GUJ e está dando um erro ai queria saber a opnião de vcs…
Estou usando o eclipse, coloquei o velocity-dep-1.5.jar na pasta lib, no pacote src criei um pacote chamado ‘com’ e dentro dele coloquei a classe ‘VelocityListProcess.java’
package com;
import java.io.StringWriter;
import java.util.ArrayList;
import org.apache.velocity.*;
import org.apache.velocity.app.*;
public class VelocityListProcess {
public static void main(String args[]) throws Exception {
// inicializando o velocity
VelocityEngine ve = new VelocityEngine();
ve.init();
// criando o contexto que liga o java ao template
VelocityContext context = new VelocityContext();
// escolhendo o template
Template t = ve.getTemplate("template1.vm");
// variavel que sera acessada no template:
ArrayList list = new ArrayList();
list.add("Item 1");
list.add("Item 2");
list.add("Item 3");
list.add("Item 4");
list.add("Item 5");
// aqui! damos a variavel list para
// o contexto!
context.put("lista", list);
StringWriter writer = new StringWriter();
// mistura o contexto com o template
t.merge(context, writer);
System.out.println(writer.toString());
}
}
na pasta WEB-INF criei o aquivo ‘template1.vm’.
Existem \$lista.size() itens na lista.
-------------------
#foreach (\$item in \$list)
\$item
#end
-------------------
ao rodar esse cara esta dando o seguinte erro
27/11/2008 11:37:22 org.apache.velocity.runtime.log.JdkLogChute log
INFO: FileResourceLoader : adding path '.'
27/11/2008 11:37:22 org.apache.velocity.runtime.log.JdkLogChute log
SEVERE: ResourceManager : unable to find resource 'C:\diogo_webapps\workspace\teste\WebContent\WEB-INF\template1.vm' in any resource loader.
Exception in thread "main" org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'C:\diogo_webapps\workspace\teste\WebContent\WEB-INF\template1.vm'
at org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource(ResourceManagerImpl.java:452)
at org.apache.velocity.runtime.resource.ResourceManagerImpl.getResource(ResourceManagerImpl.java:335)
at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1102)
at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1077)
at org.apache.velocity.app.VelocityEngine.getTemplate(VelocityEngine.java:528)
at com.VelocityListProcess.main(VelocityListProcess.java:17)
O que estou fazendo de errado? pq ele nao esta achando o arquivo ‘template1.vm’?