After about two months of development, the Autotag project is feature-complete. JSP tags, Freemarker directive models and Velocity directives are generated from a common template models.

These 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.

All the Tiles 3 boilerplate code has been removed and used the plugin instead: it's a lot of boilerplate, boring code, now generated automatically.

Now the next step is to complete the test cases and to convince other potential users (I'm thinking of Struts 2) that it might help.