如何获取Grails数据绑定以正确绑定引用的对象(例如下面示例中的Country)?
给出以下两个Grails域类..
class User {
String username
Country country
}
class Country {
String name
}
..以及以下HTML表单..
<g:form>
<g:textField name="user.username" value="${user.username}" />
<g:select name="user.country" from="${Country.list()}" optionKey="id" />
</g:form>
..以及相应操作中的以下代码..
User user = new User(params["user"])
..我希望user.username和user.country可以绑定。但是,似乎username.username获取绑定,而user.country不是。绑定引用对象的正确语法是什么(本例中为user.country)?
答案 0 :(得分:5)
“country”属性的绑定开始工作,如果..
<g:select name="user.country" from="${Country.list()}" optionKey="id" />
..改为..
<g:select name="user.country.id" from="${Country.list()}" optionKey="id" />
答案 1 :(得分:0)
您还应该查看命令对象。他们可以一次验证并绑定所有参数。