2008-09-19 12 views
9

Nous faisons un usage intensif de Velocity dans notre application Web. Bien qu'il soit facile de déboguer le côté Java et de s'assurer que le contexte de vélocité est correctement rempli, il serait extrêmement utile de pouvoir parcourir l'analyse de la VTL à l'étape de la fusion, définir les points d'arrêt, etc. ou IDE/IDE plugins qui rendrait ce genre de chose possible avec VTL (Velocity Template Language)?Existe-t-il un moyen de déboguer les modèles Velocity dans le sens traditionnel du débogage de code?

Répondre

2

Il pourrait y avoir? mais ce que j'ai trouvé fonctionne, c'est que si tout est mis dans une carte spéciale, cela est mis dans le contexte. Ainsi, vous pouvez faire écho tout le contenu de cette carte spéciale à l'écran pendant le rendu (sans avoir à connaître les clés) ... indiquant ainsi la valeur exacte d'un élément donné dans le contexte à tout moment. Ce n'est pas infaillible, mais VTL semble être pour les trucs "quick n dirty" seulement.

1

Il n'y a pas de "pas à pas", ni aucune sorte de "variables d'impression" intégrées. C'est quelque chose qui me dérange aussi, mais l'utilisation de la vélocité était une décision qui a été prise avant de rejoindre notre projet ...

3

Je n'en avais pas encore trouvé. Le plus proche que je peux obtenir est de hack un cadre de journalisation pour imprimer les informations que vous voulez.

Ce que vous faites est:

  1. créer une classe avec la méthode d'enregistrement qui renvoie la valeur booléenne.
  2. Injecter l'objet dans le contexte de la vitesse
  3. partir du modèle de vitesse à l'intérieur, vous pouvez appeler la méthode d'enregistrement avec #if($logger.log($data)) #end