Funcionamento do Velocity na Web

Comecei ontem a estudar o velocity, primeiramente pelos tutoriais do GUJ e depois pela documentação do próprio site do velocity.

Eu consegui fazer alguns exemplos, criar algumas coisinhas, mas ainda tenho dúvida na sua utilização na WEB.

Na empresa dividimos a equipe de desenvolvimento da equipe de webdesigners.
Nosso objetivo é a equipe de desenvolvimento trabalha do lado servidor, com servlet, hibernate, junit, etc etc etc, enquanto os designers ficam responsáveis apenas por fazer o layout do site, colocandos os componentes (text, buttons) com o nome que a gente (desenvolvedores) pedir.
Desejamos não misturar código Java com HTML (o que acontecia na época de PHP + HTML e era um Deus nos acuda). Pelo que eu lí, o velocity faz isso, mas ainda assim ficou uma dúvida.

Vamos supor que eu tenho um servlet, que esse servlet preenche um bean qualquer e que eu passo para o meu arquivo do velocity esse bean.
O que eu quero é mostrar na tela os dados desse bean, vamos supor que nele tenho, “ID,Nome,Endereco”.

Eu já tenho uma página em HTML feita, e gostaria de adicionar esses valores em algum lugar do HTML.
Eu poderia fazer isso usando JSP, recebendo o Bean da sessão e usando os jsp:getProperty…, mas não quero usar JSP e sim o velocity.

Nesse caso, como eu pegaria os valores do arquivo do velocity e jogaria no meu html?
supondo que no meu velocity eu tenha uma variável assim e quero mostra-la no HTML?

#set ($nome = clientes.getNome())

eu sei que eu posso montar o HTML inteiro dentro do meu arquivo .vm, mas ae eu cairia no mesmo problema de misturar “um pouco de códigos diferentes de html” com HTML.

Existe alguma solução pra isso ou estou viajando?

Obrigado

veja, isto não tem problema, na verdade vc precisa fazer isso. O fato de separar código java de html é para lógica de negócios, conexão com base de dados.

Por exemplo, depois que teu servlet montou uma lista de usuários, vc pode percorrer esta lista para mostrar os usários na página html. Nao tem problema em fazer isso, pq vc está apresentando as informações…

sobre acessar as variáveis com velocity, se existir algo na request vc pode acessar assim -> $objeto

então ricardo,

o que eu quiz dizer, é que eu caiu no mesmo problema de misturar código HTML com JSP (o JSP fazendo apenas o view), pois pelo exemplo que você disse, eu poderia pegar o bean pela sessão e dentro de um scriptlet eu montar um while e mostrar as informações.
O que eu queria (se fosse possível é claro), é separar o arquivo que nós desenvolvedores vamos trabalhar, dos arquivos dos designers.

Eu imaginei que fosse algum assim mais ou menos.

Nós programadores, montamos o servlet, passamos para o velocity, ele tem seu arquivo .vm e armazena os valores em algumas variáveis.

Os designers, sabem os nomes dessas variáveis (pois os programadores falaram) e colocam elas no HTML, como por exemplo

<input type='text' name='nome' value='$!nome'>

Eu acho que eu viajei nisso, mas se desse pra fazer seria uma baita de uma ajuda e produtividade :lol:

da uma olhada, talvez ajude :smiley: : http://www-106.ibm.com/developerworks/library/j-velocity/

Cara ja trabalhei em um projeto web onde velocity era o padrao de desenvolvimento o troço te da uma puta produtividade depois que vc engrena mais algumas coisas vc nao conseguiria fazer dessa forma que ta querendo abandonando os webdesigners por exemplo um loop vc nao conseguiria fazer sem um codigo html no meio ou vice-e-versa ou vc criaria um loop preenchia uma variavel com formatacoes html e dava um put na pagina velocity é muito bom pra esse caso ai!

C precisar de algum help eu puder tamo ai qq nao entendi direito o q vc realmente ta querendo fazer!