1、org.thymeleaf.TemplateEngine 实现了接口: ITemplateEngine
默认初始化了下面的内容,这个是类里面的源代码,new的时候做的内容
public TemplateEngine()
{
setCacheManager(new StandardCacheManager());
setEngineContextFactory(new StandardEngineContextFactory());
setMessageResolver(new StandardMessageResolver());
setLinkBuilder(new StandardLinkBuilder());
setDecoupledTemplateLogicResolver(new StandardDecoupledTemplateLogicResolver());
setDialect(new StandardDialect());
}
2、一般会初始化一下模板解决方案
public void setTemplateResolver(ITemplateResolver templateResolver)
{
Validate.notNull(templateResolver, “Template Resolver cannot be null”);
checkNotInitialized();
this.templateResolvers.clear();
this.templateResolvers.add(templateResolver);
}
3、web服务中,使用 ServletContextTemplateResolver 进行初始模板的解决方案,并且制定html为默认的模板,还有其他的一些前缀后缀之类的东西,以及缓存
ServletContextTemplateResolver templateResolver = new ServletContextTemplateResolver(servletContext);
templateResolver.setTemplateMode(TemplateMode.HTML);
templateResolver.setPrefix("/WEB-INF/templates/");
templateResolver.setSuffix(".html");
templateResolver.setCacheTTLMs(Long.valueOf(3600000L));
templateResolver.setCacheable(true);
this.templateEngine = new TemplateEngine();
this.templateEngine.setTemplateResolver(templateResolver);
3、定制模板
模板中的变量要知道在哪个层次里面。 需要参考官方文档。el表达式还有一些模板的语法不同