Grails从java或groovy文件夹导入类

时间:2015-10-31 07:21:11

标签: grails

我在src / groovy / search /文件夹中放了几个.groovy脚本,并误解了如何在我的控制器中使用它们。 我的控制器是grails-app / controller / EnvironmentController.groovy,我想知道如何导入类

import src.groovy.search.*

此外,如果有人能够完全解释Grails中的导入是如何工作的(即如何将groovy和java文件夹包含在项目中以及如何导入它们,包括在groovy中导入java文件夹),我们表示赞赏。 。 谢谢!

编辑:我的Grails是2.4.4

2 个答案:

答案 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社区版)

组织导入功能快捷方式:

在GGTS / STS(Eclipse)上

Ctrl + shift + o all together

在Intelij

Ctrl + Alt + o all together

在您的情况下,如果您使用的是vi或某些文本编辑器,那么您只需要:

import search.*

即。删除src.groovy.