com.kangyonggan.app.freemarker.CustomerFreeMarkerConfigurer Maven / Gradle / Ivy
The newest version!
package com.kangyonggan.app.freemarker;
import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
/**
* @author kangyonggan
* @since 16/4/29
*/
public class CustomerFreeMarkerConfigurer extends FreeMarkerConfigurer {
public CustomerFreeMarkerConfigurer() {
setTemplateLoaderPaths("/WEB-INF/templates/", "classpath:/templates/");
setDefaultEncoding("UTF-8");
setSettings(null);
setVariables(null);
}
public void setSettings(Map settings) {
Properties freemarkerSettings = new Properties();
freemarkerSettings.setProperty("template_update_delay", "10");
freemarkerSettings.setProperty("defaultEncoding", "UTF-8");
freemarkerSettings.setProperty("url_escaping_charset", "UTF-8");
freemarkerSettings.setProperty("locale", "zh_CN");
freemarkerSettings.setProperty("boolean_format", "true,false");
freemarkerSettings.setProperty("datetime_format", "HH:mm:ss");
freemarkerSettings.setProperty("time_format", "yyyy-MM-dd HH:mm:ss");
freemarkerSettings.setProperty("date_format", "yyyy-MM-dd");
freemarkerSettings.setProperty("number_format", "#.##");
freemarkerSettings.setProperty("whitespace_stripping", "true");
freemarkerSettings.setProperty("auto_import", "spring.ftl as s, common.ftl as c");
if (settings != null) {
for (String key : settings.keySet()) {
freemarkerSettings.setProperty(key, settings.get(key));
}
}
setFreemarkerSettings(freemarkerSettings);
}
public void setVariables(Map variables) {
Map freemarkerVariables = new HashMap<>(4);
freemarkerVariables.put("block", new BlockDirective());
freemarkerVariables.put("extends", new ExtendsDirective());
freemarkerVariables.put("override", new OverrideDirective());
freemarkerVariables.put("super", new SuperDirective());
if (variables != null) {
for (String key : variables.keySet()) {
freemarkerVariables.put(key, variables.get(key));
}
}
setFreemarkerVariables(freemarkerVariables);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy