我在src / groovy / search /文件夹中放了几个.groovy脚本,并误解了如何在我的控制器中使用它们。 我的控制器是grails-app / controller / EnvironmentController.groovy,我想知道如何导入类
import src.groovy.search.*
此外,如果有人能够完全解释Grails中的导入是如何工作的(即如何将groovy和java文件夹包含在项目中以及如何导入它们,包括在groovy中导入java文件夹),我们表示赞赏。 。 谢谢!
编辑:我的Grails是2.4.4
答案 0 :(得分:1)
Grails中的导入以与Java相同的方式工作。你把你的groovy文件放在src / groovy下的src / groovy和java文件下。导入时只需导入包名称,导入时无需包含src或groovy。
如何在控制器或任何地方执行groovy脚本,您只能导入它们。我假设你在谈论groovy脚本而不是groovy类。要执行groovy脚本,您有两种选择。
假设您的Sample.groovy脚本文件包含以下代码
public void sayHello(String name) {
println "Say Hello to $name..."
}
public static void sayStaticHello(String name) {
println "Say Static Hello to $name..."
}
因此,为了在您的控制器中执行它,您可以执行以下任一操作:
def script = new GroovyShell().parse(new File('<Path to SampleScript.groovy>'))
script.sayHello("Sandeep Poonia")
script.sayStaticHello("Sandeep Poonia")
或
//for non-static methods
this.class.classLoader.loadClass("SampleScript").newInstance().invokeMethod("sayHello", "Sandeep Poonia")
//for static method
this.class.classLoader.loadClass("SampleScript").invokeMethod("sayStaticHello", "Sandeep Poonia")
答案 1 :(得分:0)
使用和IDE :( Grails 2或更少GGTS / STS)(Grails 3 Intelij社区版)
Ctrl + shift + o all together
Ctrl + Alt + o all together
在您的情况下,如果您使用的是vi或某些文本编辑器,那么您只需要:
import search.*
即。删除src.groovy.