Scalasti: A Scala interface to the Java StringTemplate Library
Scalasti provides a (useful) subset of the StringTemplate API's features, with a more Scala-friendly syntax.
Scalasti's additional features include:
Immutability. As of version 3.0.0, Scalasti objects are immutable, unlike the StringTemplate objects. Modifier methods always create new objects; they never modify objects in place. Immutability is more functional and more idiomatic to Scala, and an immutable Scalasti API was long overdue.
Error-handling. Where possible, Scalasti propagates errors via
scala.util.Tryobjects, instead of via a StringTemplate listener. This approach is also more idiomatic to Scala.
Scala object support. Scalasti supports Scala objects, meaning you don't have to use
@BeanPropertyon your Scala classes before you can pass them into a template. This feature also allows you to use instances of third-party Scala classes directly with Scalasti.
Stronger type safety. You should never need to cast objects you receive from the Scalast API.
Mapped aggregates provide the ability to add maps (which can be nested) as template attributes, which you can then deference within the template via dot-notation.
For complete information, see the Scalasti home page.