0
我正在处理程序的两个部分。一个创建小的常规脚本,另一个在Job中执行它们。每个脚本都用于将信息从地图转换为域对象。然后作业将保存域对象以供将来使用。在grails中执行脚本作业
这是一个小例子。
域
class Report {
Date date
Country country
}
地图
Map<String, String> map = new HashMap<String, String>();
map.put("date", "2015-04-21 11:31:11");
map.put("country", "United States");
日期脚本
String script = "x.date = Date.parse('y-M-d h:m:s', y['date'])"
目前正在执行的脚本USI ng Eval。
Eval(report, map, script)
还有其他更复杂的脚本需要查询信息并根据值做出决定。
日期脚本工作正常,但是当国家脚本执行时,我得到一个错误。
国家脚本
String script = "import app.Country\nx.country = Country.findByName(y['country'])"
错误
Script1.groovy: 1: unable to resolve class app.Country
这似乎是国家类是没有得到在调用评估和演示加载。我如何在Eval中进行导入?我应该使用Eval还是GroovyShell?