通过引用使用grails/groovy类

通过引用使用grails/groovy类,grails,groovy,Grails,Groovy,我正在尝试在grails中创建自己的CRUD控制器,以实现脚手架无法实现的功能 我不想为每个域维护一个控制器的代码,而是希望有一个控制器可以为任何域的通用CRUD调用提供服务。。因为唯一的区别是域类名 使用域类Job&Note的示例 而不是 Job.get(id) Job.list() def instance = new Job(params) Note.get(id) Note.list() def instance = new Job(params) 我在想 def someHandl

我正在尝试在grails中创建自己的CRUD控制器,以实现脚手架无法实现的功能

我不想为每个域维护一个控制器的代码,而是希望有一个控制器可以为任何域的通用CRUD调用提供服务。。因为唯一的区别是域类名

使用域类Job&Note的示例

而不是

Job.get(id)
Job.list()
def instance = new Job(params)

Note.get(id)
Note.list()
def instance = new Job(params)
我在想

def someHandler = Job // configurable

someHandler.get(id)
someHandler.list()
def instance = new someHandler(params)
前两个静态方法(get、list)工作正常,但创建新实例却不行。 任何关于如何最好地做到这一点的建议


Cheers

使用

def instance = someHandler.newInstance()
以及使用

def instance = someHandler.newInstance(params)

如果您对Grails默认提供的框架控制器/视图不满意,并且希望以类似的方式对所有域类进行更改,那么更好的方法可能是编辑用于生成这些控制器/视图的模板

您可以通过运行脚本
grails安装模板
来实现这一点。这将在
src/templates/scaffolding
目录中创建大量文件,每个文件定义用于生成脚手架工件的模板

更改这些模板以创建所需的控制器/视图。如果您已经为任何域类运行了
grailsgenerateall
,那么您需要为这些类再次运行它来更新现有的框架