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

问题描述

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

预期结果是一条简单的屏幕消息,告诉用户从列表中选择“Expedition”,然后代码返回到同一点,以便用户可以进行更改,然后再次点击提交。然后完整的消息:

没有方法签名:SdrmController.confirm() 适用于参数类型:(java.lang.String) 值:[你必须选择一个探险。请返回您的请求并选择至少一个探险。] 可能的解决方案:notify()、render(java.lang.String)

标签: grailsgroovy

解决方案


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

推荐阅读