No-template
Jump to navigation
Jump to search
A super-small Java library for templating, i.e. generating text files (HTML, XML, whatever) from a "template" text file.
Working with the common templating frameworks (Freemarker, JSP, PHP, ...), you probably agree on the following inconveniences and problems:
- Each framework has its own syntax and semantics for implementing the dynamic part of a document (variables, control structures, in-source documentation, ...).
- Because the nesting of control structures and the indentation of the static content are generally not identical, it is very hard to write easily-readable code.
- Most templating frameworks have no static typing, i.e. you must always be careful when using (or worse: re-using) variables, because there is no "compile-time checking" of types.
- Powerful debuggers are not available in many cases, so you typcially revert to looking at log files.
- Because there are so many different templating engines, you favorite IDE possibly offers no advanced editor with code completion, refactoring, and the like.
- If the templating engine involves some kind of an "translation" step, then that must be executed on each and every code change - at worst manually.
The approach of no-template
is as simple as it could be:
package com.acme.notemplatedemo; import de.unkrig.notemplate.*; public class MyTemplate extends NoTemplate { public MyTemplate(Writer out) { super(writer); } public void render(String firstName, String lastName, int age) { l( "<!DOCTYPE html>", "", " ", "My first template ", " ", " ", " This is my very first template.", " <br />", " Hello " + firstName + " " + lastName + ",", " you must be " + age + " years old!", " ", "" ); } public static void main(String[] args) { new MyTemplate(new OutputStreamWriter(System.out)).render("John", "Doe", 99); } }
And that would be it!
Resources
Find binaries here.
Find the source code here.
Find the JAVADOC here.