我正在开发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}"
答案 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}"/>