我已经将g:select字段更改为yui自动完成(不使用yui插件),现在我得到了:
Failed to convert property value of type [java.lang.String] to required type...
println控制器中的参数在两种情况下看起来都相同。
我可以继续使用params中的String id并获取所需的域对象,但我想使用binder。
我猜它是binder的工作方式,但无法找到问题。
是否可以使用ID来绑定对象,如使用g:select?
时所做的那样谢谢, 盖
答案 0 :(得分:1)
问题是select的名称可能类似于 property.id ,Binder将尝试查找基于id的对象(这是一个int),这不能转换为一个字符串。
您可能需要更改name属性并使用 findByName 之类的内容编写代码以“取消引用”参数,以找到要分配的对象,即
def propValue = Lookup.findByName(params.propertyName);
objectInstance.property = propValue;
确保新名称与该类的现有属性不同,否则Binder将尝试将该字符串分配给该属性。除非是因为你的属性是是一个字符串....
希望这有帮助。