0

我正在开发一个 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,但我想显示实际值,我该如何为关系对象执行此操作?

谢谢您的帮助

编辑.......

以下是我的区域课程

类领域{

String name

static hasMany = [users:SecUser]

}

编辑...

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

value="${area.name}"
4

2 回答 2

1

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

class Areas {

    String toString() {
        "the actual string representation of my Areas object"
    }
}
于 2012-10-19T15:37:46.867 回答
0

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

<s2ui:textFieldRow readonly='yes' name='area' labelCode='user.area.label' bean="${user}"
                            labelCodeDefault='Area' value="${area?.id}"/>
于 2012-10-19T16:59:41.437 回答