grails - 如何检查params中是否存在参数?

标签 grails groovy

for ( boldParam in [para1, para2, para2, para4, para5] ) {
    if(/* boldParam exists in params */)
        ilike(boldParam,'%' + params.boldParam + '%')
    }
}

我想写类似上面的东西。我试图避免以下多个 if 语句:
if (params.para1)
     ilike('para1','%' + params.para1+ '%')
if (params.para2)
     ilike('para2','%' +params.para2+ '%')
if (params.para3)
     ilike('para3','%' + params.para3+ '%')

最佳答案

paramsMap ,所以你可以使用 containsKey() :

for (boldParam in [para1, para2, para2, para4, para5]) {
   if (params.containsKey(boldParam)) {
      ilike(boldParam, '%' + params.boldParam + '%')
   }
}

关于grails - 如何检查params中是否存在参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6302370/

相关文章:

sql - 将Grails应用程序与Oracle数据库连接时发生异常

jenkins - 将 jenkins 管道中的参数传递给内部 groovy 脚本

java - Eclipse java 编辑器将生成的 (Groovy) 方法标记为未定义

groovy - 解释这段 Groovy 代码?

java - Spring bean 配置使用来自另一个带有 grails DSL 的 bean 的静态方法

Grails Fixtures/Build Test Data 插件在单元测试中不起作用

grails - 为什么在保存时两次调用Grails中的二传手?

groovy - Gradle,其中包含testRuntime的配置文件

grails - 用于生产部署的Grails 2.5.3 NPE( Assets 管道)

spring - 如何在 Grails 3 中将 ServletForwardingController 添加到 GrailsDispatcherServlet?