Groovy--使用模板引擎和GroovyShell执行插值字符串
package curveJudge import groovy.text.SimpleTemplateEngine /**
* Created by Jxy on 2019/8/26 17:16
*
*/
class EngineTest {
static void main(String[] args) {
def shell = new GroovyShell()
def engine = new SimpleTemplateEngine()
def map = [
'eg1' : 1,
'eg2' : 1,
'eg3' : 1,
'eg5' : 1,
'eg6' : 1,
'eg7' : 1,
'eg8' : 1,
'eg9' : 1,
'eg10': 1,
'eg11': 1,
'eg12': 1,
'eg14': 1,
'eg13': 1,
'eg15': 1,
'eg16': 1,
'eg17': 1,
'eg18': 1,
'eg19': 1,
'eg20': 1,
'eg21': 1,
'eg22': 1,
'eg23': 1,
'eg24': 1,
'eg25': 1,
'eg26': 1,
'eg27': 1,
'eg28': 1,
'eg29': 1,
'eg30': 1,
'eg31': 1,
'eg32': 1,
'eg33': 1,
'eg34': 1,
'eg35': 1,
'eg36': 1,
'eg37': 1,
'eg38': 1,
'eg39': 1,
'eg40': 1,
'eg41': 1,
'eg42': 1,
'eg43': 1,
'eg44': 1,
'eg45': 1,
]
def a = System.currentTimeMillis()
String str = '($eg1+$eg10)*6'
def string1 = engine.createTemplate(str).make(map).toString()
println "执行结果:${-> shell.evaluate(string1)}"
def b = System.currentTimeMillis()
println "---->执行 1 次需要毫秒数: ${b - a}" def str1
for (int i in 1..10) {
str1 = '($eg44+$eg3)*2'
def string2 = engine.createTemplate(str1).make(map).toString()
println "${i}执行结果:${-> shell.evaluate(string2)}"
}
def c = System.currentTimeMillis()
println "执行 10 次需要毫秒数: ${c - b}" String str2 = '($eg1+$eg10)*6'
def string3 = engine.createTemplate(str2).make(map).toString()
println "执行结果:${-> shell.evaluate(string3)}"
def d = System.currentTimeMillis()
println "---->在执行 1 次需要毫秒数: ${d - c}" def str3
for (int i in 1..100) {
str3 = '($eg44+$eg3)*2'
def string4 = engine.createTemplate(str3).make(map).toString()
println "${i}执行结果:${-> shell.evaluate(string4)}"
}
def e = System.currentTimeMillis()
println "执行 100 次需要毫秒数: ${e - d}" }
}
Groovy--使用模板引擎和GroovyShell执行插值字符串的更多相关文章
- PHP模板引擎正则替换函数 preg_replace 与 preg_replace_callback 使用总结
在编写PHP模板引擎工具类时,以前常用的一个正则替换函数为 preg_replace(),加上正则修饰符 /e,就能够执行强大的回调函数,实现模板引擎编译(其实就是字符串替换). 详情介绍参考博文:P ...
- 简易js模板引擎
前面 js 模板引擎有很多很多,我以前经常用 art-template ,有时候也会拿 vue 来当模板引擎用. 直到...... 年初的时候,我还在上个项目组,那时候代码规范是未经允许不能使用 [外 ...
- PHP的模板引擎smarty原理是什么(整理)
PHP的模板引擎smarty原理是什么(整理) 一.总结 一句话总结:其实所有的模板引擎的工作原理是差不多的,无非就是在php程序里面用正则匹配将模板里面的标签替换为php代码从而将两者混合为一个ph ...
- Ajax概述,封装以及联合模板引擎进行数据交互
欢迎大家去博客冰山一树Sankey,浏览效果更好.直接右上角搜索该标题即可 博客园主页:博客园主页-冰山一树Sankey CSDN主页:CSDN主页-冰山一树Sankey 更多资料可参考Ajax 介绍 ...
- Spring MVC 学习总结(七)——FreeMarker模板引擎与动态页面静态化
模板引擎可以让程序实现界面与数据分离,业务代码与逻辑代码的分离,这就提升了开发效率,良好的设计也使得代码复用变得更加容易.一般的模板引擎都包含一个模板解析器和一套标记语言,好的模板引擎有简洁的语法规则 ...
- php模板引擎
http://baike.baidu.com/link?url=HmXfdJBv3zpCdnZPeaSmZmqDBHlyTBnz9Rmb5it-jf1_NLHfaku6_i8ssUYbnaTQEBD4 ...
- doT.js模板引擎及基础原理
时至今日,基于后端JavaScript(Node.js)和MVC思想也开始流行起来.模板引擎是数据和页面分离工作中最重要的一环,在各大门户网站均有利用到模板引擎. 模板引擎有很多种,但是原理了解也是非 ...
- java开源模板引擎
Velocity Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义 ...
- Spring Boot☞ 使用Thymeleaf模板引擎渲染web视图
静态资源访问 在我们开发Web应用的时候,需要引用大量的js.css.图片等静态资源. 默认配置 Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则: /s ...
随机推荐
- webstrom配置node语法提示
一.mac下打开设置 二.输入node,找到node.js npm,勾选上对勾就好了. 第三.按住ctr,点击右键可以点进去就可以了.
- Hibernate3核心API-Session接口
Session是应用程序与数据库之间交互操作的一个单线程对象,是 Hibernate 运作的中心,所有持久化对象必须在 session 的管理下才可以进行持久化操作.此对象的生命周期很短.Sessio ...
- java中字符串左右补齐【转】
/** * 右左补齐 */ public static String padRight(String src, int len, char ch) { int diff = len - src.len ...
- 手写web框架之加载Controller,初始化框架
1,加载Controller 我们需要创建 一个ControllerHelper类,让它来处理下面的逻辑: 通过ClassHelper我们可以获取所有定义了Controller注解的 ...
- 35 个最好用 Vue 开源库
2018年度 35 个最好用 Vue 开源库 在本文中,我们将推荐一些非常好用的 Vue 相关的开源项目.无论是开发新手还是经验丰富的老手,我们都喜欢开源软件包.对于开发者来说,如果没有这些开源软件包 ...
- MBProgressHUD长时间加载无法取消的解决方法
使用MBProgressHUD时,加载网路数据,或者等待webview加载完毕,长时间的等待导致体验不佳,这时候希望点击屏幕取消加载动画效果: // MBProgressHUD.h @protocol ...
- 关于Bootstrap Table使用生成冻结窗格的表格
参考资料 : <JS组件系列——Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案> <http://issues.wenzhixin.net.cn/bootst ...
- 【计算机】hosts设置
2015 Google hosts 持续更新[更新于:2016-02-12] 老D 9个月前 (06-23) hosts 248,284 暂无评论 12798 文章目录[ 隐藏 ] 修改hosts的 ...
- JS自适应导航栏,菜单栏
1. 打开 https://github.com/VPenkov/okayNav下载源代码 2.引入两个css样式 <link rel="stylesheet" href=& ...
- Linux题型
考试题: 1.请描述下列路径的内容是做什么的? /etc/sysctlconf -------------------------- 内核配置(内核优化) /etc/rc.local ...