繁体   English   中英

动态访问域对象

[英]grails access domain objects dynamically

我在grails中工作,我从gsp获取域类名称,以访问该域类的对象实例(具有特定ID)。 我正在尝试以下代码。 这个对吗?

   String id = params['id']
   String className = params['className']

   def instance = className.get(id);

还有其他方法吗?

首先,您必须在控制器中注入grailsApplication bean。

def grailsApplication 

之后,您可以使用getClassForName方法按名称检索所需的类。

grailsApplication.getClassForName(className).

您必须使用完整的合格类名称,例如my.test.MyClass

def id = params.id
def className = params.'className'

def domainClazz = grailsApplication.classLoader.loadClass(className)
def instance = id ? domainClazz.get(id as Long) : null

你可以:

grailsApplication.classLoader.loadClass("Book") 

要么

grailsApplication.classLoader.loadClass("com.yourapp.Book")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM