您可以gormPersistentEntity用于任何域对象,这至少适用于 Grails 2.4.4:
def names = Person.gormPersistentEntity.persistentPropertyNames
//returns ['firstName', 'lastName'...]
Run Code Online (Sandbox Code Playgroud)
你也可以GrailsNameUtils像这样使用自然名称:
def naturalNames = Person.gormPersistentEntity.persistentPropertyNames.collect {
grails.util.GrailsNameUtils.getNaturalName(it)
}
//returns ['First Name', 'Last Name'...]
def capitilizedNames = Person.gormPersistentEntity.persistentProperties.collect{
it.capitilizedName
}
//returns ['FirstName', 'LastName'...]
Run Code Online (Sandbox Code Playgroud)
小智 6
您可以尝试这样来获取域类的字段名称.
YourClass.declaredFields.each {
if (!it.synthetic) {
println it.name
}
}
Run Code Online (Sandbox Code Playgroud)
小智 0
您可以像这样迭代类的字段。
YourClass.fields.each { println it.name }
Run Code Online (Sandbox Code Playgroud)
如果您需要将它们放入列表中,您可以使用collect()或将其填充到each中。
http://groovy.codehaus.org/JN3535-Reflection