JSTL/JSP EL (Expression Language) in a non JSP (standalone) context
You can just use the Universal Expression Language itself. You need an implementation (but there are a few to choose from). After that, you need to implement three classes: ELResolver, FunctionMapper and VariableMapper.
This blog post describes how to do it: Java: using EL outside J2EE.
StringTemplate is a more lightweight alternative to Velocity and Freemarker.
I would recommend looking into Apache Velocity. It is quite simple and lightweight.
We are currently using it for our e-mail templates, and it works very well.
You can use Casper very similar to jsp and easy to use : Casper