1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
use Arc;
use crateTemplateData;
use crate::;
use ;
/// 为模板执行创建引擎内部上下文的工厂合同。
///
/// 模板引擎实际向 Processor 暴露的是 [`IEngineContext`],而调用方通常只提供更简单
/// 的 [`IContext`]。工厂负责从根模板数据、解析属性和调用方上下文创建前者。每次根
/// 模板处理只调用一次工厂;嵌套的 `th:insert`、`th:replace` 等操作复用已创建的
/// Engine Context,通过增加层级并切换该层的 TemplateData 表达嵌套处理。
///
/// 实现必须线程安全;同一个工厂实例可能由多个并发模板执行共享。具体工厂可通过
/// `TemplateEngine#getEngineContextFactory()` 和 `setEngineContextFactory(...)`
/// 获取或替换。
///
/// 对应 Java: `org.thymeleaf.context.IEngineContextFactory`。