Chunk 模板引擎目前不支持备用标记语法。此外,标签标记内的空格不会被忽略/丢弃。
然而,这里有一个可能的桥接解决方案。只要标签名称后跟冒号,未提供的块标签将默认为空。
因此您的输入必须更改为有效的 Chunk 语法:
HELLO {$world:}, C is written by {$c:}, while java is written by {$java:}, hola.
如果您的模板语法不灵活(例如,您有一个预先存在的模板库,或者您真的不喜欢本机标记语法),您可以添加一个预处理步骤来转换{{ this }}
into {$this:}
在将其附加到块模板之前。
Chunk 库甚至提供了一个方便的函数来为您执行此操作(尽管如果输入与空格不一致,您可能需要重新实现它)。
import com.x5.template.TemplateSet;
...
Chunk c = new Chunk();
String template = TemplateSet.convertTags(msg, "{{ ", " }}", "{$", ":}");
c.append(template);
c.set("apple", "JOBS");
c.set("c", "Dennis Ritchie");
c.set("world", "WORLD");
return c.toString();