我正在处理一个Grails项目,我有一个包含以下内容的用户域模型:
class SecUser {
    transient springSecurityService
    String username
    String email
    String password
    boolean enabled
    boolean accountExpired
    boolean accountLocked
    boolean passwordExpired
    static belongsTo = [area:Areas] 
    .....
}我也在使用springSecurityUI,并且我在create user视图上有如下内容:
<s2ui:textFieldRow readonly='yes' name='area' labelCode='user.area.label' bean="${user}"
                                labelCodeDefault='Area' value="${area}"/>当我看到创建视图,而不是看到用当前登录用户的区域填充的区域框时,我可以看到以下内容:
com.testapp.Areas : 1我假设这是这个用户的部门的id,但我想要显示实际值,我如何才能对关系对象执行此操作?
谢谢你的帮助
编辑.......
下面是我的Areas类
班级区域{
String name
static hasMany = [users:SecUser]}
编辑...
我现在已经用以下命令修复了这个问题:
value="${area.name}"发布于 2012-10-20 00:59:41
如果您只想显示实际的id属性,那么可以这样做:
<s2ui:textFieldRow readonly='yes' name='area' labelCode='user.area.label' bean="${user}"
                            labelCodeDefault='Area' value="${area?.id}"/>发布于 2012-10-19 23:37:47
com.testapp.Areas : 1是默认toString()方法的输出。要更改输出,您需要在Areas上编写自己的toString()。
class Areas {
    String toString() {
        "the actual string representation of my Areas object"
    }
}https://stackoverflow.com/questions/12977492
复制相似问题