我今天在我的代码中遇到了一个有趣的问题。我正在使用 Grails 2.2.0。
这是代码
def user = lookupUserClass().get(params.id)
log.info "[update]user.subscriptionExpiryDate1: " + user.subscriptionExpiryDate
user.subscriptionExpiryDate = Calendar.getInstance();
log.info "[update]user.subscriptionExpiryDate2: " + user.subscriptionExpiryDate
if (user.subscriptionExpiryDate instanceof Calendar ) {
log.error "***** Is A Calendar Instance ***"
} else if (user.subscriptionExpiryDate instanceof String ) {
log.error "***** Is A String Instance ***"
} else {
log.error "***** Is Something else ***"
}
if (!user.save()) {
log.error "[update]Error occured saving user. Errors are: "
user.errors.each { err -> log.error err; }
render view: 'edit', model: buildUserModel(user)
return
} else {
log.info "[update]Successfully saved user"
}
subscriptionExpiryDate
是我User
对象中的日历属性。
当我执行保存时,出现以下错误
无法将类型“java.lang.String”的属性值转换为属性“subscriptionExpiryDate”所需的类型“java.util.Calendar”;嵌套异常是 java.lang.IllegalArgumentException:无法解析日期:无法解析日期:05/03/2013
谁能解释一下为什么我会在上面的代码中看到这个错误,因为没有什么突出的