🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 2.16 直接运行Beetl脚本 Beetl模板本质上会转化为Beetl脚本来执行,这点跟jsp转为servlet来执行类似。GroupTemplate提供方法可以直接执行Beetl脚本 - public Map runScript(String key, Map<String, Object> paras) throws ScriptEvalError - public Map runScript(String key, Map<String, Object> paras, Writer w) throws ScriptEvalError - public Map runScript(String key, Map<String, Object> paras, Writer w, ResourceLoader loader) throws ScriptEvalError key为资源名,paras为脚本的全局变量,w可选参数,如果执行脚本有输出,则输出到w里,loader参数可选,如果指定,则使用此laoder加载脚本 执行脚本完毕后,返回到Map里的值可能包含如下: - 模板的**顶级**的临时变量,key为临时变量名 - return 值将返回到map里 ,key为return 如下脚本(此时就不需要脚本定界符了) ```javascript var a = 1; var b = date(); var c = '2'; return a+1; ``` 调用runScript后,map里将返回key分别为a,b,c,return。 值分别为1,当前日期,字符串'2,以及3。 groupTemplate.validateScript 可以用于校验模板是否正确,如果不正确,返回BeetlException ~~~java BeetlException ex = groupTemplate.validateScript(script); if(ex!=null){ ErrorInfo info = new ErrorInfo(ex); System.out.println(info.toString()); } ~~~