Basico: velocity e templates

org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource ‘login’

vai gente, me explica onde eu tenho q colocar o meu template chamado ‘login’.
estou usando o tomcat e o nome da minha app eh ‘chat’. tentei colocar no dir inicial do tomcat e nao achou. no diretorio lib tambem nao. nao sei onde posso configurar no velocity onde ele deve procurar os templates tambem

abraco

gui

coutinho me fez a MESMA pergunta ontem

extende a VelocityServlet, e faz assim no loadConfoiiguration:

 public Properties loadConfiguration(ServletConfig sc) throws IOException {
        Properties p = super.loadConfiguration(sc);

        // dir de templates velho
        String old = p.getProperty("file.resource.loader.path");

        // dir novo:
        p.setProperty(
            "file.resource.loader.path",
            old
                + sc.getServletContext().getRealPath("")
                + File.separator
                + "WEB-INF"
                + File.separator
                + "templates");

        return p;
    }

capisco?

nem curto essas velocity servlets
so mais criar uma engine e usar o file.resource.loader.path=c:ProgrammeApache Tomcat 4.0webappschatWEB-INF emplates
file.resource.loader.cache=true
file.resource.loader.modificationCheckInterval = 600

nao precisa usar se voce nao aquiser. Soh nao vai ficar chamando uma VelocityEngine para cada servlet!!

outra coisa
isso que voce fez, de colocar no velocity.properties, o diretorio, eh HORRIVEL. faca seu webapp sem precisar configurar quase nada quando for dar deploy em outra maquina

eu sei
tava testando e fico lixao
ja to usando a VelocityServlet ehhehehe

viu, otra coisa eh impossivel eu usar velocity e mostrar os dados sem nunca acabar a response neh? pq eu tenho q ficar segurando a response ate o ultimo momento no chat…
para os formularios e tal da tudo na boa
mas acho q na pagina da sala vo te q usa uns properties mesmo, sem ser velocity

gui

Quem quiser instanciar a VelocityEngine na mao, ao inves de usar a VelocityServlet pode fazer assim:

String templatePath = getServletContext().getRealPath("") + File.separator + "WEB-INF" + File.separator + "templates";
				
ve = new VelocityEngine();
ve.setProperty("file.resource.loader.path", templatePath);
ve.init();