Tiles-3 introduces a feature complete Autotag project, a project that automatically generates tags (or tag-like) artifact from a common template code for a range of templating languages. Today JSP tags, Freemarker directive models and Velocity directives are generated from a common template models.
Such template models must have a single public method, with this signature:
public void execute(, Request request, ModelBody modelBody);
The modelBody parameter is optional: if it is not specified, the template model does not have a body.
For more features (required fields, default values, a name different to the one specified in the parameter list) a new annotation @Parameter has been created.
A Maven 2 (based on 2.2.1) plugin contains four Mojos:
the first mojo (create-descriptor) reads the template models and produces an XML file containing the description of the read models;
the others (generate-jsp, generate-freemarker, generate-velocity) produce boilerplate code.
The projects using the latter mojos must include some runtime dependencies.
The boilerplate code has been removed and uses the plugin instead: it's a lot of boilerplate, boring code, now generated automatically.