GroovyShell 脚本应用
在Groovy中你可以使用GroovyShell对Groovy脚本和表达式进行调试,GroovyShell允许你通过Binding对象传入或传出变量。下面通过三种方式,传递参数。
def groovyShellTest1() { def city = new City() def shell = new GroovyShell() def closure def result def shellContext = "{city->city.name='haerbin';city.tel='123456';city.save();return city;}" try { closure = shell.evaluate(shellContext) result = closure(city) println "result = " + result return result } catch (Exception e) { println e } }
def groovyShellTest2() { def city = new City() Binding binding = new Binding(); binding.setVariable("city", city); def shell = new GroovyShell(binding) def result def shellContext = "city.name='haerbin2';city.tel='876543';city.save();return city;" try { result = shell.evaluate(shellContext) println "result = " + result return result } catch (Exception e) { println e } }
def groovyShellTest3() { Binding binding = new Binding(); binding.setVariable("age", 10); def shell = new GroovyShell(binding) def result try { result = shell.evaluate("println 'Hello Groovy !';return age * 10") println "result = " + result return result } catch (Exception e) { println e } }