我想获取一个类的字段名称,并可能将其存储在一个列表中。任何人都可以帮忙吗?谢谢。
问问题
7367 次
4 回答
7
你可以试试这个来获取域类的字段名。
YourClass.declaredFields.each {
if (!it.synthetic) {
println it.name
}
}
于 2013-08-30T14:08:29.390 回答
7
您可以gormPersistentEntity
用于任何域对象,这至少适用于 Grails 2.4.4:
def names = Person.gormPersistentEntity.persistentPropertyNames
//returns ['firstName', 'lastName'...]
你也可以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'...]
于 2017-08-07T22:07:01.937 回答
4
刚发现,这个有效:
def names = grailsApplication.getDomainClass('com.foo.Person').persistentProperties.collect { it.name }
于 2013-02-27T02:47:34.917 回答
0
您可以像这样遍历类的字段。
YourClass.fields.each { println it.name }
如果您需要将它们放入列表中,您可以使用 collect() 或在每个列表中填充它。
于 2013-02-27T02:44:03.557 回答