我已将 g:select 字段更改为 yui 自动完成(不使用 yui 插件),现在我得到:
Failed to convert property value of type [java.lang.String] to required type...
println Controller 中的参数在两种情况下看起来都相同。
我可以继续使用参数中的字符串 id 并获取所需的域对象,但我想使用活页夹。
我猜它的方式 binder工作,但找不到问题。
是否可以像使用 g:select 时那样使用 ID 绑定(bind)对象?
谢谢,
盖伊
最佳答案
问题是选择的名称可能类似于 property.id,Binder 将尝试根据 id(它是一个 int)查找对象,并且不能将其转换为字符串。
您可能需要更改 name 属性并编写代码以使用 findByName 之类的方法“取消引用”参数以查找要分配的对象,即
def propValue = Lookup.findByName(params.propertyName);
objectInstance.property = propValue;
确保新名称与类的现有属性不同,否则 Binder 将尝试将字符串分配给该属性。除非你的属性(property)是一个字符串....
希望这可以帮助。
关于 chalice g :select to autocomplete,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1980711/