diff --git a/vraptor-site/content/pt/cookbook/integrando-vraptor-com-tiles3.html b/vraptor-site/content/pt/cookbook/integrando-vraptor-com-tiles3.html new file mode 100644 index 000000000..e8c2f65a9 --- /dev/null +++ b/vraptor-site/content/pt/cookbook/integrando-vraptor-com-tiles3.html @@ -0,0 +1,72 @@ +--- +title: Integrando o VRaptor com Tiles 3 +--- + +# por Otávio Garcia + +Apache Tiles é um framework que implementa o design pattern Composite View. Com ele é possível você criar templates para sua aplicação de forma bem simples. Mais informações você encontra no site do projeto. + +O primeiro passo é incluir em seu projeto Maven o artefato abaixo. Se você não usa Maven, você pode ir no site do Tiles e baixar os arquivos manualmente. + +~~~ +#!xml + + org.apache.tiles + tiles-extras + 3.0.0 + +~~~ + +E depois adicionar o listener que informa ao tiles que a aplicação está inicializada: + +~~~ +#!xml + + org.apache.tiles.extras.complete.CompleteAutoloadTilesListener + +~~~ + +E por último o servlet que irá responder as requisições do Tiles. No exemplo abaixo, qualquer requisição para a URL `*.tiles` será direcionada para os templates do Tiles. + +~~~ +#!xml + + TilesDispatchServlet + org.apache.tiles.web.util.TilesDispatchServlet + + + TilesDispatchServlet + *.tiles + +~~~ + +Desta forma já temos o Tiles atendo as requisições. + +Por padrão o VRaptor faz o forward para JSPs. Então precisaremos sobrescrever o comportamento da classe `DefaultPathResolver` para fazer o forward para o Tiles, usando o Servlet que criamos anteriormente. + +~~~ +#!java +@Specializes +public class TilesPathResolver extends DefaultPathResolver { + + @Override + protected String getPrefix() { + return "/"; + } + + @Override + protected String getExtension() { + return "tiles"; + } +} +~~~ + +Com isso, se você requisitar o método `ClienteController.formulario`, o VRaptor irá efetuar o forward para o template `cliente.formulario`. Basta então você criarmos o template para atender ao `forward`: + +~~~ +#!xml + + [...] + +~~~ +