Aprendiz de velocity duvida

8 respostas
A

Galera,

Eu to querendo montar um template usando velocity para poder montar minhas tabelas dinamicamente.
Tenho o codigo a seguir?

<html>
 <table>

    <tr>
       #foreach ($cabecalho in $cabecalhos)
         <td>$cabecalho</td>
       #end
    </tr>
    
       #foreach ($model in $models)
         <tr>
	       #foreach ($cabecalho in $cabecalhos)
	         <td>$model.$cabecalho</td>
	       #end                     
         </tr>
       #end    
 
 </table>
</html>

Posso fazer isso $mode.$cabecalho(nome do campo)?

Alberto

8 Respostas

A

É… eu testei e vi que nao pode. Mas nao tem como eu criar um lance? Eu vou ter que fazer um template para cada tabela que eu quiser montar?

Alberto

brlima

se cabecalho é uma List dentro de Model, vc pode fazer assim:

#foreach($cabec in $model.cabecalhos)
    $cabec
#end
A

Cabecalhos é uma lista contendo os nomes dos headers da tabela. Ai eu queria montar a tabela generica, sacou? Fazendo por exemplo
$model.$cabecalho(var de iteracao pela lista de cabecalhos)

Alberto

javaBeats

Voce pode definir macros em Velocity, veja a documentacao da VTL… e outra, vc acessa propriedade das classes do contexto de maneira semelhante `a EL… :smiley:

A

Consegui galera. O que eu fiz

#foreach ($cab in $cabecalhos)
  &lt$cab&gt$e.getField("$cab")</$cab>
 #end

Eu joguei um metodo que por reflection chama o get do atributo

Alberto

Mauricio_Linhares

Porque você não cria um macro pra essa tabela dinâmica?

http://jakarta.apache.org/velocity/docs/user-guide.html#Velocimacro%20Miscellany

A

Pode ser Mauricio, valeu pela dica.

Alberto

A

Aproveitando que to falando da VIEW, vcs conhecem alguma coisa sobre o DOJO, nao tem uma documentacao boa pa ele ainda. E eu queria usar os componentes dele alem do ajax.

Alberto

Criado 18 de agosto de 2006
Ultima resposta 19 de ago. de 2006
Respostas 8
Participantes 4