如何解决'groovy.lang.MissingMethodException'...可能的解决方案:notify(),render(java.lang.String)

时间:2019-05-25 00:55:46

标签: grails groovy

我对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)

1 个答案:

答案 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
    }`