如何从字符串中获取grails类名

时间:2013-09-20 19:18:32

标签: grails

以下是我的grails域对象的精简版本:

//this is a lookup table
class PetType {
  String description
}

class Family {
   static hasMany = [
      petTypePreferred:PetType
   ]
}

在我的控制器中,我从gsp返回参数字符串值'petTypePreferred'。知道字符串值,并了解Domain类Family,如何从'petTypePreferred'字符串值中确定Domain类?在grails 2.2.4中,getPropertyByName(String value)方法在域对象上看不到有效,即使它位于javadoc中。

所以我有String petTypePreferred和Class Family,但我需要找到这两条信息的Class PetType。

1 个答案:

答案 0 :(得分:1)

我不确定你到底想要什么:

获取域名类

hasManyMap中的一个简单静态FamilyMap将字段名称存储为键,将目标类型存储为值。因此,您可以使用以下命令从字符PetType获取域petTypePreferred

Familiy.hasMany['petTypePreferred']

获取给定description个实例的PetType内的Family值:

一个家庭可以有多种宠物类型(hasMany),因此结果必须是一个集合:

Family family = ...
List descriptions = family['petTypePreferred']*.description

这为您提供了名为PetType的{​​{1}}个实例的Family个描述列表。