【发布时间】:2014-03-25 14:03:47
【问题描述】:
当我用不同的角色更新我的用户时,我遇到了这两个错误:
Cannot convert value of type [java.lang.String] to required type [rms.SecUser] for property 'secUser': no matching editors or conversion strategy found]
Cannot convert value of type [java.lang.String] to required type [rms.SecRole] for property 'secRole': no matching editors or conversion strategy found]
我正在使用 grails spring 安全插件。
这是我的控制器:
def updateSecUserSecRole(Long id, Long version) {
def secUserSecRoleInstance = SecUserSecRole.get(id)
if (!secUserSecRoleInstance) {
flash.message = message(code: 'default.not.found.message', args: [message(code: 'secUserSecRole.label', default: 'SecUserSecRole'), id])
redirect(action: "listSecUserSecRole")
return
}
if (version != null) {
if (secUserSecRoleInstance.version > version) {
secUserSecRoleInstance.errors.rejectValue("version", "default.optimistic.locking.failure",
[message(code: 'secUserSecRole.label', default: 'SecUserSecRole')] as Object[],
"Another user has updated this SecUserSecRole while you were editing")
redirect(action: "listSecUserSecRole")
return
}
}
secUserSecRoleInstance.properties = params
if (!secUserSecRoleInstance.save(flush: true)) {
secUserSecRoleInstance.errors.allErrors.each{
println it
}
redirect(action: "listSecUserSecRole")
return
}
flash.message = message(code: 'default.updated.message', args: [message(code: 'secUserSecRole.label', default: 'SecUserSecRole'), secUserSecRoleInstance.id])
redirect(action: "listSecUserSecRole")
}
这是我在编辑 gsp 中的表单字段的 sn-p:
<g:select class="select2-edit" style="width:30% !important;" id="secUser.id" name="secUser" from="${rms.SecUser.list()}" optionKey="id" optionValue="username" required="" value="${secUserSecRoleInstance?.secUser?.id}" />
<g:select id="secRole.id" name="secRole" from="${rms.SecRole.list()}" optionKey="id" optionValue="authority" required="" value="${secUserSecRoleInstance?.secRole?.id}" />
【问题讨论】:
-
发生在哪里?
secUserSecRoleInstance.properties = params? -
@IgorArtamonov 最有可能
-
params是否有可能包含rms.SecUser? -
@IgorArtamonov 你这是什么意思?像这样
params.containsKey(secUser)?
标签: java grails spring-security