[英]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.