我可以分两步解析模板文件。
考虑我有一个模板如下。
<html>
<img th:attr="src='${imageSourcePath}'"/>
<span th:text="${someText}"></span>
</html>
和Context对象如下。
Context ctx = new Context();
ctx.setVariable("imageSourcePath","path/To/Image.png");
String proccessedTemplate = templateEngine.process("templateName",ctx);
注1:
此时我的上下文对象中只有
imageSource
其中没有someText
。
现在我想处理这个模板文件并返回如下所示的已处理内容,我将使用新的上下文对象再次处理此内容以替换剩余的占位符。
<html>
<img src="path/To/Image.png"/>
<span th:text="${someText}"></span>
</html>
但是它通过删除上下文对象中不存在的占位符来返回如下。
<html>
<img src="path/To/Image.png"/>
<span></span> <-- Here placeholder is removed.
</html>
注2:我不能同时拥有所有上下文变量。我的要求是分两个阶段处理模板。
我该如何解决? 任何帮助将不胜感激。