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

标签 grails

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

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

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

在我的 Controller 中,我从gsp返回了一个参数字符串值'petTypePreferred'。了解该字符串值并了解Domain类Family,如何从“petTypePreferred”字符串值确定Domain类?在grails 2.2.4中,即使getPropertyByName(String value)方法在javadoc中,也对域对象无效。

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

最佳答案

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

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

Familiy.hasMany['petTypePreferred']

获取给定description实例的PetTypeFamily的值:

一个家庭可以具有多种宠物类型(hasMany),因此结果必须是一个集合:
Family family = ...
List descriptions = family['petTypePreferred']*.description

这为您提供了名为PetTypeFamily实例的family描述列表。

关于grails - 如何从字符串获取grails类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18924289/

相关文章:

grails - 我无法在 Grails 中安装 spring-security-core 插件

grails - Groovy/Grails自动将NaN字符串转换为双字段

grails - 如何从Spring Security UI获得正确的错误消息?

unit-testing - Grails 1.3.7 Spock中的失败单元测试

tomcat在部署war文件和重启服务器时挂起

security - Grails Acegi 安全 : Problem with roles and access

grails - 注入(inject)springSecurityService不起作用

grails - Grails 3 中的拆分配置

events - Spock和Grails-等待服务或 Controller 发生事件

grails - 在Grails中,是否可以将数据库迁移插件配置为在其他插件之前运行?