Grails从域中的belongsTo访问值?

Grails从域中的belongsTo访问值?,grails,spring-security,gorm,relationship,Grails,Spring Security,Gorm,Relationship,我正在从事一个Grails项目,我有一个具有以下内容的用户域模型: class SecUser { transient springSecurityService String username String email String password boolean enabled boolean accountExpired boolean accountLocked boolean passwordExpired

我正在从事一个Grails项目,我有一个具有以下内容的用户域模型:

class SecUser {

    transient springSecurityService

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

    static belongsTo = [area:Areas] 

    .....
}
com.testapp.Areas : 1
我也在使用springSecurityUI,在“创建用户”视图中有:

<s2ui:textFieldRow readonly='yes' name='area' labelCode='user.area.label' bean="${user}"
                                labelCodeDefault='Area' value="${area}"/>
我假设这是该用户的部门id,但我想显示实际值,如何对关系对象执行此操作

谢谢你的帮助

编辑

下面是我的区域课程

班级地区{

String name

static hasMany = [users:SecUser]
}

编辑

我现在使用以下方法修复了此问题:

value="${area.name}"

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

class Areas {

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

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

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


您不知道如何编写toString()?是的,我不明白这与我遇到的问题有什么关系。我已经用我的Area类更新了我的帖子,我将如何修改它,以便我可以为该用户返回Area值?感谢您的帮助当应用程序首次启动时,“区域值”是什么意思?我已将一些测试数据引导到其中,这些数据创建了一个用户,称为“admin”,然后您可以从SecUser类中看到,该用户应属于某个区域,因此我将其设置为属于,称为“technical”。因此,在填充该字段时,我希望它为当前登录用户提取区域值“technical”。它似乎只提取关系ID,而不是获取该值。有什么想法吗?我希望这有助于更好地解释:-)创建用户页面有一个名为“area”的只读字段,我希望该字段等于试图创建用户的当前登录用户的值,因此此代码将无法工作。不幸的是,还有其他想法吗?我还没有足够的权限进行全面评论,但是,作为对您最新评论的回应,如果您希望显示的是名称,只需将访问器设置为name而不是id!value=“${area?.name}”