问题
We make heavy use of Velocity in our web application. While it is easy to debug the Java side of things and ensure the Velocity Context is populated correctly, it would be extremely valuable to be able to step through the parsing of the VTL on the merge step, set breakpoints, etc. Are there any tools or IDEs/IDE plugins that would make this kind of thing possible with VTL (Velocity Template Language)?
回答1:
I had not found any yet. The closest I can get is to hack a logging framework to print out information that you want.
What you do is:
- create an class with logging method which return boolean value.
- Inject the object into velocity context
- From inside velocity template you can call the logging method with
#if($logger.log($data)) #end
回答2:
There might be? but what I've found works is if everything is put into a special map, that is put into the context. Thus you can echo the entire contents of this special map to the screen while rendering (without having to know the keys)... thus indicating the exact value of any given item in the context at any point. It isn't foolproof, but VTL seems to be for "quick n dirty" stuff only.
回答3:
There is no step through, nor some kind of built in "print variables". This is something that bothers me too, but using velocity was a decision that was made before I joined our project...
来源:https://stackoverflow.com/questions/106473/is-there-a-way-to-debug-velocity-templates-in-the-traditional-code-debugging-sen