Grails从域名中的belongsTo访问值?

时间:2012-10-19 15:25:02

标签: grails spring-security gorm relationship

我正在开发Grails项目,我有一个用户域模型,其中包含以下内容:

class SecUser {

    transient springSecurityService

    String username
    String email
    String password
    boolean enabled
    boolean accountExpired
    boolean accountLocked
    boolean passwordExpired

    static belongsTo = [area:Areas] 

    .....
}

我也在使用springSecurityUI,我在创建用户视图中有这个:

<s2ui:textFieldRow readonly='yes' name='area' labelCode='user.area.label' bean="${user}"
                                labelCodeDefault='Area' value="${area}"/>

当我看到创建视图而不是看到区域框填充当前登录用户的区域时,我可以看到以下内容:

com.testapp.Areas : 1

我认为这是该用户的部门ID,但我想显示实际值,我该如何为关系对象执行此操作?

感谢您的帮助

EDIT .......

以下是我的Areas类

class Areas {

String name

static hasMany = [users:SecUser]

}

编辑...

我现在使用以下方法解决了这个问题:

value="${area.name}"

2 个答案:

答案 0 :(得分:1)

com.testapp.Areas : 1是默认toString()方法的输出。要更改输出,您需要在toString()上编写自己的Areas

class Areas {

    String toString() {
        "the actual string representation of my Areas object"
    }
}

答案 1 :(得分:0)

如果您只想显示实际的 id 属性,那么您可以这样做:

<s2ui:textFieldRow readonly='yes' name='area' labelCode='user.area.label' bean="${user}"
                            labelCodeDefault='Area' value="${area?.id}"/>