public class DefaultTemplateEngine extends Object implements TemplateEngine, IGrammarConstants
| 限定符和类型 | 字段和说明 |
|---|---|
protected BeetlAntlrErrorStrategy |
antlrErrorStrategy
ANTLR 错误策略
|
protected static String[] |
STRICT_DISABLE_GRAMMARS
严格MVC下不允许的语法,跟逻辑相关
|
protected SyntaxErrorListener |
syntaxError
语法错误监听器
|
Ajax, And, Arth, Break, ClassNativeCall, Compare, Continue, For, ForIn, Format, Function, FunctionExp, If, IncDec, InstanceNativeCall, JsonArray, JsonMap, Neg, Not, Or, Return, Select, Switch, Tag, TemplateContent, Ternary, TextOutputSt, TextOutputSt2, Try, VarAssign, VarAssignSeq, VarRefAssign, VarRefAssignExp, VarRefOptimal, VarTag, While| 构造器和说明 |
|---|
DefaultTemplateEngine() |
| 限定符和类型 | 方法和说明 |
|---|---|
protected void |
checkProgram(Program program)
子类可以加工,修改或者添加包括静态文本或者Statement语句
|
Program |
createProgram(Resource resource,
Reader reader,
Map<Integer,String> textMap,
String cr,
GroupTemplate gt)
创建脚本运行程序,目前存在 默认/快速/在线 三种脚本运行程序
|
protected AntlrProgramBuilder |
getAntlrBuilder(GroupTemplate groupTemplate)
获取一个beetl模板的解析器,子类可以扩展
|
protected GrammarCreator |
getGrammarCreator(GroupTemplate groupTemplate)
语法节点生成器,子类可以扩展射生成自己个性化节点解析,比如带有xss的输出的${},限制循环个数的for语法
|
protected void |
setStrictDisableGrammars(GrammarCreator grammarCreator,
GroupTemplate groupTemplate)
严格MVC下,添加禁用语法的集合
|
protected BeetlAntlrErrorStrategy antlrErrorStrategy
protected SyntaxErrorListener syntaxError
protected static final String[] STRICT_DISABLE_GRAMMARS
public Program createProgram(Resource resource, Reader reader, Map<Integer,String> textMap, String cr, GroupTemplate gt)
TemplateEnginecreateProgram 在接口中 TemplateEngineresource - 模板idreader - 模板转化成脚本后的内容textMap - 静态文本cr - 模板换行符gt - 模板组protected void checkProgram(Program program)
program - 脚本运行程序protected AntlrProgramBuilder getAntlrBuilder(GroupTemplate groupTemplate)
groupTemplate - 组模板protected GrammarCreator getGrammarCreator(GroupTemplate groupTemplate)
groupTemplate - 组模板protected void setStrictDisableGrammars(GrammarCreator grammarCreator, GroupTemplate groupTemplate)
grammarCreator - 语法创建者groupTemplate - 组模板Copyright © 2022. All rights reserved.