If you like FreeMarker, I would like to introduce you to a new language called ZipScript [
http://code.google.com/p/zipscript/]. This language has all the good features from Velocity and all the good features from FreeMarker and many new great features such as:
- Ability to evaluate expressions aside from just getting the string representation
- Ability to create nested macros as well as create template-defined parameters which can be evaluated in the macros
- Ability to handle null values
- And much more...
It is a beta release but is very stable - there are many test cases and I would appreciate any feedback that would be offered