use of org.thymeleaf.templateresolver.FileTemplateResolver in project thymeleaf-tests by thymeleaf.
the class TemplateEngineTest method testTemplateResolverConfiguration05.
@Test
public void testTemplateResolverConfiguration05() {
final TemplateEngine templateEngine = new TemplateEngine();
templateEngine.setTemplateResolver(new ClassLoaderTemplateResolver());
templateEngine.addTemplateResolver(new FileTemplateResolver());
templateEngine.initialize();
final List<ITemplateResolver> templateResolvers = new ArrayList<ITemplateResolver>(templateEngine.getTemplateResolvers());
Assert.assertEquals(2, templateResolvers.size());
Assert.assertEquals("org.thymeleaf.templateresolver.ClassLoaderTemplateResolver", templateResolvers.get(0).getName());
Assert.assertEquals("org.thymeleaf.templateresolver.FileTemplateResolver", templateResolvers.get(1).getName());
}
use of org.thymeleaf.templateresolver.FileTemplateResolver in project cas by apereo.
the class CasCoreViewsConfiguration method chainingTemplateViewResolver.
@Bean
public AbstractTemplateResolver chainingTemplateViewResolver() {
final ChainingTemplateViewResolver chain = new ChainingTemplateViewResolver();
casProperties.getView().getTemplatePrefixes().forEach(Unchecked.consumer(prefix -> {
final String prefixPath = ResourceUtils.getFile(prefix).getCanonicalPath();
final String viewPath = StringUtils.appendIfMissing(prefixPath, "/");
final ThemeFileTemplateResolver theme = new ThemeFileTemplateResolver(casProperties);
configureTemplateViewResolver(theme);
theme.setPrefix(viewPath + "themes/%s/");
chain.addResolver(theme);
final FileTemplateResolver file = new FileTemplateResolver();
configureTemplateViewResolver(file);
file.setPrefix(viewPath);
chain.addResolver(file);
}));
return chain;
}
use of org.thymeleaf.templateresolver.FileTemplateResolver in project docx4j-template by vindell.
the class WordprocessingMLThymeleafTemplate method getInternalEngine.
protected TemplateEngine getInternalEngine() throws IOException {
// 初始化模板解析器
AbstractConfigurableTemplateResolver templateResolver = getTemplateResolver();
if (getTemplateResolver() == null) {
String resolver = Docx4jProperties.getProperty("docx4j.thymeleaf.templateResolver", "org.thymeleaf.templateresolver.FileTemplateResolver");
if ("org.thymeleaf.templateresolver.FileTemplateResolver".equalsIgnoreCase(resolver)) {
templateResolver = new FileTemplateResolver();
} else if ("org.thymeleaf.templateresolver.ClassLoaderTemplateResolver".equalsIgnoreCase(resolver)) {
templateResolver = new ClassLoaderTemplateResolver();
} else if ("org.thymeleaf.templateresolver.UrlTemplateResolver".equalsIgnoreCase(resolver)) {
templateResolver = new UrlTemplateResolver();
} else {
templateResolver = new FileTemplateResolver();
}
}
templateResolver.setCacheable(Docx4jProperties.getProperty("docx4j.thymeleaf.cacheable", true));
templateResolver.setCacheablePatterns(ArrayUtils.asSet(StringUtils.tokenizeToStringArray(Docx4jProperties.getProperty("docx4j.thymeleaf.cacheablePatterns", ""))));
String cacheTTLMs = Docx4jProperties.getProperty("docx4j.thymeleaf.cacheTTLMs");
templateResolver.setCacheTTLMs(cacheTTLMs == null ? null : Long.valueOf(cacheTTLMs));
templateResolver.setCharacterEncoding(Docx4jProperties.getProperty("docx4j.thymeleaf.charset", "UTF-8"));
templateResolver.setCheckExistence(Docx4jProperties.getProperty("docx4j.thymeleaf.checkExistence", false));
templateResolver.setCSSTemplateModePatterns(ArrayUtils.asSet(StringUtils.tokenizeToStringArray(Docx4jProperties.getProperty("docx4j.thymeleaf.newCSSTemplateModePatterns", ""))));
templateResolver.setHtmlTemplateModePatterns(ArrayUtils.asSet(StringUtils.tokenizeToStringArray(Docx4jProperties.getProperty("docx4j.thymeleaf.newHtmlTemplateModePatterns", ""))));
templateResolver.setJavaScriptTemplateModePatterns(ArrayUtils.asSet(StringUtils.tokenizeToStringArray(Docx4jProperties.getProperty("docx4j.thymeleaf.newJavaScriptTemplateModePatterns", ""))));
templateResolver.setName(Docx4jProperties.getProperty("docx4j.thymeleaf.name", templateResolver.getClass().getName()));
templateResolver.setNonCacheablePatterns(ArrayUtils.asSet(StringUtils.tokenizeToStringArray(Docx4jProperties.getProperty("docx4j.thymeleaf.nonCacheablePatterns", ""))));
templateResolver.setOrder(Integer.valueOf(Docx4jProperties.getProperty("docx4j.thymeleaf.order", "1")));
templateResolver.setPrefix(Docx4jProperties.getProperty("docx4j.thymeleaf.prefix"));
templateResolver.setRawTemplateModePatterns(ArrayUtils.asSet(StringUtils.tokenizeToStringArray(Docx4jProperties.getProperty("docx4j.thymeleaf.newRawTemplateModePatterns", ""))));
templateResolver.setResolvablePatterns(ArrayUtils.asSet(StringUtils.tokenizeToStringArray(Docx4jProperties.getProperty("docx4j.thymeleaf.resolvablePatterns", ""))));
templateResolver.setSuffix(Docx4jProperties.getProperty("docx4j.thymeleaf.suffix", ".tpl"));
// templateResolver.setTemplateAliases(templateAliases);
templateResolver.setTemplateMode(Docx4jProperties.getProperty("docx4j.thymeleaf.templateMode", "XHTML"));
templateResolver.setTextTemplateModePatterns(ArrayUtils.asSet(StringUtils.tokenizeToStringArray(Docx4jProperties.getProperty("docx4j.thymeleaf.newTextTemplateModePatterns", ""))));
templateResolver.setUseDecoupledLogic(Docx4jProperties.getProperty("docx4j.thymeleaf.useDecoupledLogic", false));
templateResolver.setXmlTemplateModePatterns(ArrayUtils.asSet(StringUtils.tokenizeToStringArray(Docx4jProperties.getProperty("docx4j.thymeleaf.newXmlTemplateModePatterns", ""))));
// 初始化引擎对象
TemplateEngine engine = new TemplateEngine();
engine.setTemplateResolver(templateResolver);
// 调用getConfiguration初始化引擎
engine.getConfiguration();
return engine;
}
use of org.thymeleaf.templateresolver.FileTemplateResolver in project thymeleaf-tests by thymeleaf.
the class TemplateEngineTest method testTemplateResolverConfiguration10.
@Test
public void testTemplateResolverConfiguration10() {
final TemplateEngine templateEngine = new SpringTemplateEngine();
final Set<ITemplateResolver> resolvers = new LinkedHashSet<ITemplateResolver>();
resolvers.add(new ClassLoaderTemplateResolver());
resolvers.add(new FileTemplateResolver());
templateEngine.setTemplateResolvers(resolvers);
templateEngine.initialize();
final List<ITemplateResolver> templateResolvers = new ArrayList<ITemplateResolver>(templateEngine.getTemplateResolvers());
Assert.assertEquals(2, templateResolvers.size());
Assert.assertEquals("org.thymeleaf.templateresolver.ClassLoaderTemplateResolver", templateResolvers.get(0).getName());
Assert.assertEquals("org.thymeleaf.templateresolver.FileTemplateResolver", templateResolvers.get(1).getName());
}
Aggregations