我对Groovy来说是个新手,这是一个旧的应用程序,作者不再在我们的组织中工作。以前看起来相似的问题都没有提供任何帮助。该应用程序需要向用户发送一条简单消息,以警告他们缺少条目,然后再继续操作。
我已经对flash.message进行了不少于20项确认。 Flash使应用程序一直跳转到用户登录功能。该确认给出了崩溃消息:Error 500: Executing action [submitrequest] of controller [SdrmController] caused exception: Runtime error executing action
def submitrequest = {
def testChecker
testChecker = [params.fullExpName].flatten().findAll { it != null }
log.info('testChecker.size = ' + testChecker.size)
if (testChecker.size > 0) {
if (!confirm('Submitting can not be undone, are you sure?')) return
} else {
if (!confirm('You have to pick an expedition. Please return to your Request and pick at least one expedition.')) return
} else {
return
}
}
// rest of long time working code here
}
Expected Result是一条简单的消息,提示用户从列表中选择一个“ Expedition”,然后代码返回同一点,以便用户可以进行更改,然后再次单击Submit。 然后显示完整消息:
没有方法签名:SdrmController.confirm()适用于参数类型:(java.lang.String)值:[您必须选择一个探险队。请返回您的请求并至少进行一次探险。]可能的解决方案:notify(),render(java.lang.String)
答案 0 :(得分:0)
-flash.message可以解决我们的情况。
`legChecker = [params.programLeg].flatten().findAll{it!=null}
if(requestInstance.futurePast == "future" && expChecker.size<1) {
flash.message = " you must select a future expedition "
render(view: 'stepstart', model: [....])
return
}`