微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Groovy / Grails使用map作为函数的参数

我有一个非常简单的函数,我定义如下:

def mySimpleFunction(Map myMap) {
   // Function logic here...
  }

但是,当我尝试编译它时,我收到一条警告消息并构建异常,该异常表示:[mySimpleFunction]动作接受类型为[java.util.Map]的参数,该参数未标记为Validateable.

如何将此功能标记为可验证?我导入了org.codehaus.groovy.grails.validation.Validateable

并将我的班级标记为@Validateable.

为了让我的应用程序构建,我应该做些什么?

先感谢您!

解决方法

如果它是辅助方法,请将其设为私有.在Grails 2.0中,公共控制器方法被假定为动作,并且假定参数是可绑定的.这意味着它们需要是数字类型,布尔值,字符串等,或命令对象类.

如果在控制器类文件中定义了命令对象类,则它们将自动成为可验证的,如果它们在别处定义,则需要注释为@Validateable.

因为这是一个辅助方法而不是一个动作,所以只需将其设为私有(特别是因为无论如何都无法从另一个调用它):

private mySimpleFunction(Map myMap) {
   // Function logic here...
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐