Configurando o VRaptor3 + Velocity [Resolvido]

4 respostas
jehffersson

Pessoal,
estou estudando a apostila FJ-28 da Caelum...
Entrei no site de downloads do velocity ([url]http://velocity.apache.org/download.cgi[/url]) . Copiei os seguintes jars para o seu WEB-INF/lib:
? no velocity-1.7.zip copiei os jars velocity-1.7.jar e velocity-1.7-dep.jar
? no velocity-tools-2.0.zip copiei todos os jars da pasta lib

meu web.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="WebApp_ID" version="2.5">
	<display-name>goodbuy</display-name>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
	
	<servlet>
	  <servlet-name>velocity</servlet-name>
	  <servlet-class>org.apache.velocity.tools.view.servlet.VelocityViewServlet</servlet-class>
	</servlet>
	<servlet-mapping>
	  <servlet-name>velocity</servlet-name>
	  <url-pattern>*.vm</url-pattern>
	</servlet-mapping>

	<!-- configura o controlador do VRaptor -->
	<filter>
		<filter-name>vraptor</filter-name>
		<filter-class>br.com.caelum.vraptor.VRaptor</filter-class>
	</filter>
	
	<filter-mapping>
		<filter-name>vraptor</filter-name>
		<url-pattern>/*</url-pattern>
		<dispatcher>FORWARD</dispatcher>
		<dispatcher>REQUEST</dispatcher>
	</filter-mapping>

	<jsp-config>
		<jsp-property-group>
			<description>goodbuy</description>
			<display-name>Good Buy</display-name>
			<url-pattern>*.jsp</url-pattern>
			<include-prelude>/header.jspf</include-prelude>
			<include-coda>/footer.jspf</include-coda>
		</jsp-property-group>
	</jsp-config>
</web-app>
package br.com.caelum.goodbuy.vraptor;

import javax.servlet.http.HttpServletRequest;

import br.com.caelum.vraptor.ioc.Component;
import br.com.caelum.vraptor.view.AcceptHeaderToFormat;
import br.com.caelum.vraptor.view.DefaultPathResolver;

@Component
public class VelocityPathResolver extends DefaultPathResolver {

	public VelocityPathResolver(HttpServletRequest request,
			AcceptHeaderToFormat acceptHeaderToFormat) {
		super(request, acceptHeaderToFormat);
	}

	@Override
	protected String getPrefix() {
		// o retorno padrão desse método é /wEB-INF/jsp/, que é a página
		// onde suas views serão procuradas
		return "/WEB-INF/velocity/";
	}

	@Override
	protected String getExtension() {
		// o retorno padrão é jsp, que a extensão da página da sua view
		return "vm";
	}
}
super(request, acceptHeaderToFormat);
Está recramando o seguinte: The constructor DefaultPathResolver(HttpServletRequest, AcceptHeaderToFormat) is undefined

4 Respostas

Lucas_Cavalcanti

apague o construtor da VelocityPathResolver

o eclipse vai deixar o nome da classe sublinhado, vc coloca o cursor lá e digita ctrl+1 e escolhe a opção de gerar o construtor.

jehffersson

Obrigado Lucas pela ajuda! funcionou, agora que acabei a apostila eu quero trabalhar com o VRaptor, é muito bom!
Parabéns pelo desenvolvimento, é dez!

Agora eu queria te pedir uma dica.
Eu vou começa a desenvolver WebSiteS com o Vraptor + Hibernate, mais eu queria saber na sua opinião quais os melhores Frameworks para trabalhar com Vraptor?
Tipo: Wiew ? com melhores resultados? Pois eu não sei qual a vantagem de utilizar o Velocity em vez do jsp, por exemplo!
Você teria algum projeto exemplo? Ou algo assim? Como Post ou apostila?

G

Nos meus projetos tenho usado sempre jspx para as views. Não gosto muito de usar templates engines extras. Não consigo ver nenhuma vantagem no velocity ou sitemesh.

Já na camada de persistencia normalmente uso JPA sobre EJB 3. Mas se você for usar apenas VRaptor, pode usar JPA com qualquer implementação (HIbernate, OpenJPA, Eclipselink). Há componentes do VRaptor que já te largam o EntityManager pronto para usar, controlando transação, etc. http://vraptor.caelum.com.br/documentacao/componentes-utilitarios-opcionais/

Lucas_Cavalcanti

gosto de usar também JQuery + plugins pra componentes e efeitos visuais no HTML

de resto, depende muito da sua aplicação

Criado 11 de fevereiro de 2011
Ultima resposta 12 de fev. de 2011
Respostas 4
Participantes 3