Novel Open Source Template Engines Written In Java
|
|
Continuing on the series of "open source stuff written in Java". I've put together a list of template engines written in Java:
- Tapestry Page and Component Templates - One of the features of Tapestry is invisible instrumentation. In most web application frameworks, converting a static HTML page into a usable template is a destructive process: the addition of new tags, directives or even Java code to the template means that it will no longer preview properly in a WYSIWYG editor. (Note: XML-like only)
- Java+ Preprocessor - Brad Cox's Quasi-Literal preprocessor. The interesting quality about this engine is that it allows for
recursive applicaton based on user defined string pairs. - XVCL - A template engine allows for the composition of templates employing an unusual form of acquisition semantics that's based on Frame Oriented Processing. (Note: XML only)
- StringTemplate - From the Terrence Parr, author of ANTLR, an extremely comprehensive template engine that includes "template inheritance". Terrence Parr has written a paper on that discusses how StringTemplate enforces Model-View separation, a very important read for the field.
- Jamon - A typed template engine, has a rich feature set to support encapsulation, parameterization, functional decomposition, and reuse of presentation logic. Jamon is general-use in the sense that it can produce any arbitrary text output format.
- Tea - Tea is a strongly typed, compiled programming language, designed to work within a Java-based hosting environment. Tea is designed to enforce a separation between data acquistion and presentation, without sacrificing basic programming constructs.
- Canvas - Canvas is a template generator based on the Groovy language. It uses the familiar Velocity Java API to bind variables and allows you to use the full expressivity of Groovy inside your templates.
- Guglhupf XTE - The Guglhupf XML Transformation Engine (XTE) is a set of tools for transforming XML files. It is meant to be a simpler way of transforming xml than XSLT is. When you look at xml transformation tools like XSLT or Velocity you normally have a specific language for processing the input (xml) file and you write the target data as "output" statements. XTE goes the opposite way: The template is already written in the output format, and the input processing commands are written within special comment blocks. This has the advantage that your editor can do the syntax highlighting right for your template files too.
Now people may be wondering why such mainstream stuff like JSP, Velocity, WebMacro or FreeMarker isn't included in the list. Well simply because I haven't found anything "novel" about them. Also, if you're contemplating writing yet another template engine, please at least come up with something original!
I'm sure there are more "novel" template engines out there that I may have missed, so again, please let me know what I should have included.
Last modified 2005-02-14 11:42 AM


