//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package freemarker.template;
import freemarker.cache.CacheStorage;
import freemarker.cache.ClassTemplateLoader;
import freemarker.cache.FileTemplateLoader;
import freemarker.cache.MruCacheStorage;
import freemarker.cache.SoftCacheStorage;
import freemarker.cache.TemplateCache;
import freemarker.cache.TemplateConfigurationFactory;
import freemarker.cache.TemplateLoader;
import freemarker.cache.TemplateLookupStrategy;
import freemarker.cache.TemplateNameFormat;
import freemarker.cache.TemplateCache.MaybeMissingTemplate;
import freemarker.core.*;
import freemarker.log.Logger;
import freemarker.template.utility.CaptureOutput;
import freemarker.template.utility.ClassUtil;
import freemarker.template.utility.HtmlEscape;
import freemarker.template.utility.NormalizeNewlines;
import freemarker.template.utility.NullArgumentException;
import freemarker.template.utility.SecurityUtilities;
import freemarker.template.utility.StandardCompress;
import freemarker.template.utility.StringUtil;
import freemarker.template.utility.XmlEscape;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.TimeZone;
import java.util.TreeSet;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
public class Configuration extends Configurable implements Cloneable, ParserConfiguration {
private static final Logger CACHE_LOG = Logger.getLogger("freemarker.cache");
private static final String VERSION_PROPERTIES_PATH = "/freemarker/version.properties";
public static final String DEFAULT_ENCODING_KEY_SNAKE_CASE = "default_encoding";
public static final String DEFAULT_ENCODING_KEY_CAMEL_CASE = "defaultEncoding";
public static final String DEFAULT_ENCODING_KEY = "default_encoding";
public static final String LOCALIZED_LOOKUP_KEY_SNAKE_CASE = "localized_lookup";
public static final String LOCALIZED_LOOKUP_KEY_CAMEL_CASE = "localizedLookup";
public static final String LOCALIZED_LOOKUP_KEY = "localized_lookup";
public static final String STRICT_SYNTAX_KEY_SNAKE_CASE = "strict_syntax";
public static final String STRICT_SYNTAX_KEY_CAMEL_CASE = "strictSyntax";
public static final String STRICT_SYNTAX_KEY = "strict_syntax";
public static final String WHITESPACE_STRIPPING_KEY_SNAKE_CASE = "whitespace_stripping";
public static final String WHITESPACE_STRIPPING_KEY_CAMEL_CASE = "whitespaceStripping";
public static final String WHITESPACE_STRIPPING_KEY = "whitespace_stripping";
public static final String OUTPUT_FORMAT_KEY_SNAKE_CASE = "output_format";
public static final String OUTPUT_FORMAT_KEY_CAMEL_CASE = "outputFormat";
public static final String OUTPUT_FORMAT_KEY = "output_format";
public static final String RECOGNIZE_STANDARD_FILE_EXTENSIONS_KEY_SNAKE_CASE = "recognize_standard_file_extensions";
public static final String RECOGNIZE_STANDARD_FILE_EXTENSIONS_KEY_CAMEL_CASE = "recognizeStandardFileExtensions";
public static final String RECOGNIZE_STANDARD_FILE_EXTENSIONS_KEY = "recognize_standard_file_extensions";
public static final String REGISTERED_CUSTOM_OUTPUT_FORMATS_KEY_SNAKE_CASE = "registered_custom_output_formats";
public static final String REGISTERED_CUSTOM_OUTPUT_FORMATS_KEY_CAMEL_CASE = "registeredCustomOutputFormats";
public static final String REGISTERED_CUSTOM_OUTPUT_FORMATS_KEY = "registered_custom_output_formats";
public static final String AUTO_ESCAPING_POLICY_KEY_SNAKE_CASE = "auto_escaping_policy";
public static final String AUTO_ESCAPING_POLICY_KEY_CAMEL_CASE = "autoEscapingPolicy";
public static final String AUTO_ESCAPING_POLICY_KEY = "auto_escaping_policy";
public static final String CACHE_STORAGE_KEY_SNAKE_CASE = "cache_storage";
public static final String CACHE_STORAGE_KEY_CAMEL_CASE = "cacheStorage";
public static final String CACHE_STORAGE_KEY = "cache_storage";
public static final String TEMPLATE_UPDATE_DELAY_KEY_SNAKE_CASE = "template_update_delay";
public static final String TEMPLATE_UPDATE_DELAY_KEY_CAMEL_CASE = "templateUpdateDelay";
public static final String TEMPLATE_UPDATE_DELAY_KEY = "template_update_delay";
/** @deprecated */
public static final String AUTO_IMPORT_KEY_SNAKE_CASE = "auto_import";
/** @deprecated */
public static final String AUTO_IMPORT_KEY_CAMEL_CASE = "autoImport";
/** @deprecated */
public static final String AUTO_IMPORT_KEY = "auto_import";
public static final String AUTO_INCLUDE_KEY_SNAKE_CASE = "auto_include";
public static final String AUTO_INCLUDE_KEY_CAMEL_CASE = "autoInclude";
public static final String AUTO_INCLUDE_KEY = "auto_include";
public static final String TAG_SYNTAX_KEY_SNAKE_CASE = "tag_syntax";
public static final String TAG_SYNTAX_KEY_CAMEL_CASE = "tagSyntax";
public static final String TAG_SYNTAX_KEY = "tag_syntax";
public static final String INTERPOLATION_SYNTAX_KEY_SNAKE_CASE = "interpolation_syntax";
public static final String INTERPOLATION_SYNTAX_KEY_CAMEL_CASE = "interpolationSyntax";
public static final String INTERPOLATION_SYNTAX_KEY = "interpolation_syntax";
public static final String NAMING_CONVENTION_KEY_SNAKE_CASE = "naming_convention";
public static final String NAMING_CONVENTION_KEY_CAMEL_CASE = "namingConvention";
public static final String NAMING_CONVENTION_KEY = "naming_convention";
public static final String TAB_SIZE_KEY_SNAKE_CASE = "tab_size";
public static final String TAB_SIZE_KEY_CAMEL_CASE = "tabSize";
public static final String TAB_SIZE_KEY = "tab_size";
public static final String TEMPLATE_LOADER_KEY_SNAKE_CASE = "template_loader";
public static final String TEMPLATE_LOADER_KEY_CAMEL_CASE = "templateLoader";
public static final String TEMPLATE_LOADER_KEY = "template_loader";
public static final String TEMPLATE_LOOKUP_STRATEGY_KEY_SNAKE_CASE = "template_lookup_strategy";
public static final String TEMPLATE_LOOKUP_STRATEGY_KEY_CAMEL_CASE = "templateLookupStrategy";
public static final String TEMPLATE_LOOKUP_STRATEGY_KEY = "template_lookup_strategy";
public static final String TEMPLATE_NAME_FORMAT_KEY_SNAKE_CASE = "template_name_format";
public static final String TEMPLATE_NAME_FORMAT_KEY_CAMEL_CASE = "templateNameFormat";
public static final String TEMPLATE_NAME_FORMAT_KEY = "template_name_format";
public static final String TEMPLATE_CONFIGURATIONS_KEY_SNAKE_CASE = "template_configurations";
public static final String TEMPLATE_CONFIGURATIONS_KEY_CAMEL_CASE = "templateConfigurations";
public static final String TEMPLATE_CONFIGURATIONS_KEY = "template_configurations";
public static final String INCOMPATIBLE_IMPROVEMENTS_KEY_SNAKE_CASE = "incompatible_improvements";
public static final String INCOMPATIBLE_IMPROVEMENTS_KEY_CAMEL_CASE = "incompatibleImprovements";
public static final String INCOMPATIBLE_IMPROVEMENTS_KEY = "incompatible_improvements";
/** @deprecated */
@Deprecated
public static final String INCOMPATIBLE_IMPROVEMENTS = "incompatible_improvements";
/** @deprecated */
@Deprecated
public static final String INCOMPATIBLE_ENHANCEMENTS = "incompatible_enhancements";
public static final String FALLBACK_ON_NULL_LOOP_VARIABLE_KEY_SNAKE_CASE = "fallback_on_null_loop_variable";
public static final String FALLBACK_ON_NULL_LOOP_VARIABLE_KEY_CAMEL_CASE = "fall
没有合适的资源?快使用搜索试试~ 我知道了~
重写freemaker2.3.31的Configuration,修复 Freemarker 模板注入漏洞
共1个文件
java:1个
需积分: 0 44 下载量 71 浏览量
2023-08-15
21:47:05
上传
评论
收藏 13KB ZIP 举报
温馨提示
针对非常老的jeecgboot版本,你没办法平滑升级,可以采用这个这种方案。 直接重写 freemarker 的类 src/main/java/freemarker/template/Configuration.java 类,在实例化 Configuration 方法里面默认加入this.setNewBuiltinClassResolver(TemplateClassResolver.SAFER_RESOLVER);
资源推荐
资源详情
资源评论
收起资源包目录
freemarker.zip (1个子文件)
freemarker
template
Configuration.java 88KB
共 1 条
- 1
资源评论
JEECG低代码平台
- 粉丝: 1w+
- 资源: 66
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功