我有以下代码使用grails 2.3,但是grails 2.5发生了一个奇怪的行为,并且没有解析闭包内容(控制台中没有错误)。在下面的示例中,尽管填写了正确的表单,但不会显示用于调试目的的println。
def send = { DemoForm demoForm ->
if (jcaptchaService.validateResponse("image", session.id, params.captchaResponse)) {
if (demoForm.hasErrors()) {
render(view: "display", model: [demoForm: demoForm])
} else {
println "------------------------****"
sesMail {
to "xxx"
subject "subject"
html g.render(template: "emailBody", model: [demoForm: demoForm])
}
render(view: "thankYou", model: [demoForm: demoForm])
return [demoForm: demoForm]
}
} else {
flash.message = 'default.message.captcha'
render(view: "display", model: [demoForm: demoForm])
}
}
}
class DemoForm {
String firstname
String name
String company
String phone
String email
String message
static constraints = {
company(null:false,blank: true)
firstname(null:false,blank: false)
name(null:false,blank: false)
phone(null:true,blank: false)
email(null:false,blank: false, email: true)
}
}