Templates com NVelocity
Oct 27
Código nvelocity, parser, template, view engine No Comments
Ontem realizei uma tarefa aqui na Siteware para gerar um arquivo baseado em um template e achei uma solução interessante.
Usei o engine do NVelocity para processar o meu arquivo de template e ficou muito legal, portanto vou compartilhar o que aprendi.
Usando o template abaixo.
Cliente: $cliente.Nome Idade: $cliente.Idade.ToString('N0')
Telefones:
#foreach($telefone in $cliente.Telefones)
$telefone
#end
Quero produzir o seguinte resultado.
Cliente: Douglas Aguiar Idade: 27 Telefones: +55 31 8635-9259 +55 31 3286-4988
Primeiramente é necessário baixar o assembly do NVelocity.
Após baixar o assembly você terá que referenciar a seguinte dll:
- NVelocity
Depois basta implementar o código abaixo:
Classe de teste:
Na linha 15 construo um StringBuilder como o template.
Na linha 22 inicializo o engine do NVelocity.
Na linha 23 construo o contexto do NVelocity.
Na linha 25 construo um objeto do tipo Cliente.
Na linha 29 adiciono este objeto ao contexto do NVelocity, isto é muito legal no NVelocity, eu posso adicionar qualquer objeto e ter acesso a suas propriedades e métodos, no template que mostro logo abaixo eu uso o método ToString da propriedade Idade passando um parâmetro para formatar este número.
Já na linha 33 faço com que o NVelocity processe o template baseado nos objeto que passei para o contexto.
Classe Cliente usada pela classe NVelocityTemplateTeste.
O NVelocity também é um ViewEgine que pode ser utilizado com o ASP .NET MVC e com o MonoRail, que são dois frameworks MVC para ASP .NET.
Neste post do Chad Myers podemos ver como utilizar o NVelocity ViewEngine com o ASP .NET MVC.
Como no exemplo que demonstrei temos inúmeras aplicações para o NVelocity, como templates de e-mail, formatações customizadas, manipulação de arquivos texto que necessite manipular coleções e dentre outras aplicações que sua imaginação permitir. Podemos trabalha até com arquivos.
Download do projeto exemplo no bitbucket.
Fica ai a dica!








