grails - Groovy:访问父类中的属性

标签 grails groovy

这一定很容易,但是对于Grails&Groovy来说是很新的东西。我正在用2.4.3版编写Grails应用程序。

有一个名为 UserInfo 的类

class UserInfo extends UserDetails {

    String userID = ""

    static constraints = {
        userID blank:false
    }   
}

现在,UserDetails类:
class UserDetails {

        String userName = ""
        String userType = ""  // 'Admin' or 'Guest' or 'IT' or 'Supervisor'
        ...................
       //Lot more Informations
        ....................
        static constraints = {
            userName blank:false
            userType blank:false
        }   
    }

现在在另一个 Controller 类中,我想获取用户类型信息。
def getUserData = {

def type = []
int count = 0

UserInfo.each {
            type [i] = it.userType; // Error: No such property: operator for class: UserInfo
            i++;
     }
}

此处的目标是获取用户类型(“管理员”或“ guest ”或“IT”或“主管”)的列表以及每种用户类型的总数。

例如Admin = 230,Guest = 120,.........

上面的代码不执行此操作,实际上会产生错误。我想使用上面的数据并绘制X-Y图。

理想情况下,我应该在数组模型中将数据包含在中,如下所示。
def type = []

type << [totalNum: new Integer("230"), userType: 'Admin']
type << [totalNum: new Integer("120"), userType: 'Guest']
............................................................
............................................................

一旦我将所有数据填充到中,便可以使用Google Visualization轻松绘制图形。

到目前为止,我仍然不知道如何从 UserInfo 类的每个实例中提取数据,然后将其获取到中。

感谢您的帮助!

最佳答案

您在这里缺少list()方法:

UserInfo.list().each {...}

关于grails - Groovy:访问父类中的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27714318/

相关文章:

grails - Gradle/Grails 应用程序

groovy:在方法调用上是否使用括号?

android - Gradle .execute 方法在 gradle 更新后显示错误

jenkins - Job DSL 中的条件循环

java - 是否有 dependentOnMethods TestNG 功能的隐式替代方案? (按相关顺序运行测试)

java - Grails 标准预测 - 获取行数

grails - 在Config.groovy中获取ServletContext(或如何获取当前上下文的真实路径)

grails - 确定数据类型

ant - 如何在 groovy 中使用 execute() 来运行任何命令

grails - 如何在同一域的多个字段中重用自定义验证逻辑