Beetl3.0 是新的模板引擎,有很多特性和优化,比如,支持双定界符和双占位符
<!--#
var a = [1,2,3];
-->
<html></html>
<script>
//#for(var i in a){
var js${iLP.index} = "${i}";
//#}
</script>
<body>
${a}
#{a}
</body>
比如,如上代码可以配置双定界符和双占位符
cfg.setStatementStart("<!--#");
cfg.setStatementEnd("-->");
cfg.setStatementStart2("//#");
cfg.setStatementEnd2(null);
cfg.setPlaceholderStart("${");
cfg.setPlaceholderEnd("}");
cfg.setPlaceholderStart2("#{");
cfg.setPlaceholderEnd2("}");
目前最难的这一部分基本完成了
双占位符可以有不同的解释,比如${a} 输出是a的值,#{a} 可能输出一个“?”
双定界符使得模板更能适应各种文本,比如html文本包含了xml和script片段,可以设计俩种定界符