在grails框架中导入groovy脚本方法(二)
在grails框架中导入groovy脚本方法二:如果没有变量传入则可以用这个:
//test.groovy
def script = {
def x = 20
def y = 10
return x * y}
要调用这个闭包话这样
def shell = new GroovyShell()
def result = shell.evaluate(script)
println result
如果有变量的话可以尝试:
def script = {
def first ="${data.first}"
def last = "${data.last}"
return first + ' ' + last}
要调用这个闭包和传入参数可以这样:
def data = [first:'Montgomery',last:'Scott']
def shell = new GroovyShell( new Binding(data:data) )
def result = shell.evaluate(script)
println result
以上两种方法特别适合闭包的运行方式,如果不是闭包的话,就用下一章的方法:
声明一下:这个方法我没有尝试,是在外国的一些论坛上找到的,就传上来了!对不对不知道啊!