Quem programa para web, sabe que geralmente as página seguem sempre o mesmo padrão, alterando-se apenas o corpo da página. Pensando nisso, criamos um esquema de convenções, no qual pode-se eliminar drasticamente a quantidade de configurações.

A idéia é a seguinte: criamos um Page base e mapeamos ele para .*, que é uma expressão regular que significa qualquer coisa, e associamos o Page ao ConventionController (que pode ser estendido e personalizado, ver javadocs).

public class TemplateManager extends
        br.org.codigolivre.easytemplates.TemplateManager {

    public void configurePages() {
        //Página base
        Page base = new Page(".*", "template.jsp", ConventionController.class);
        base.setBlock("topo", new Page("topo.jsp"));
        base.setBlock("menu", new Page("menu.jsp"));
       
base.setBlock("rodape", new Page("rodape.jsp"));
        add(base);
    }
}

Acredite se quiser, mas para a maioria dos sites que você fizer, isso deverá ser suficiente.

Quando o TemplateServlet receber news/list.page, por exemplo, ele vai procurar este path no TemplateManager. Não encontrando, ele irá cair no base, que está mapeado com ".*". O ConventionController, muito esperto, fará o seguinte: colocará no id "body" do base um new Page("news/list.jsp")!

Assim, baseado nessas convenções, você eliminará drasticamente as configurações. Se alguma página fugir da convenção, basta criá-la normalmente. A preferência é sempre por uma String "de verdade", apenas depois são verificadas as expressões regulares.

Você pode estender o ConventionController, e personalizá-lo. Veja nos javadocs.

Atenção: Não faz sentido usar o ConventionController sem expressões regulares. Se assim for feito, o comportamento não será adequado.