Grails 对表达式的错误评估
Grails wrong evaluation of expression
我在我的服务 class 中编写了一个函数,我在其中评估来自控制器的传递参数,但 Grails return 评估结果错误。
def list(String q,String qval,String srt,String ord){
log.debug("q==="+q)
log.debug("qval==="+qval)
log.debug("srt==="+srt)
log.debug("order==="+ord)
所有这些调试语句都按预期打印 null。现在
boolean qvalbool=qval?.trim()
log.debug("qvalbool===>>"+qvalbool) prints true!!!
!StringUtils.isEmpty(q) && !StringUtils.isEmpty(qval) returns true!!
两个陈述都应该 return 错误,而它们 return 是正确的 这是怎么回事?有什么想法吗?
我正在使用 grails 2.4.2
Evan Wong 的评论很可能是正确的,您看到的是一个包含单词 null 的字符串。
通常当 Groovy 打印出值时,它们的类型是什么并不明显。
groovy:000> null
===> null
groovy:000> 'null'
===> null
同样在 Groovy 中,表达式 null + ''
的计算结果为字符串 'null'
。
这将是更改此参数值的简单方法,因此它包含字符串 'null'。
我在我的服务 class 中编写了一个函数,我在其中评估来自控制器的传递参数,但 Grails return 评估结果错误。
def list(String q,String qval,String srt,String ord){
log.debug("q==="+q)
log.debug("qval==="+qval)
log.debug("srt==="+srt)
log.debug("order==="+ord)
所有这些调试语句都按预期打印 null。现在
boolean qvalbool=qval?.trim()
log.debug("qvalbool===>>"+qvalbool) prints true!!!
!StringUtils.isEmpty(q) && !StringUtils.isEmpty(qval) returns true!!
两个陈述都应该 return 错误,而它们 return 是正确的 这是怎么回事?有什么想法吗?
我正在使用 grails 2.4.2
Evan Wong 的评论很可能是正确的,您看到的是一个包含单词 null 的字符串。
通常当 Groovy 打印出值时,它们的类型是什么并不明显。
groovy:000> null
===> null
groovy:000> 'null'
===> null
同样在 Groovy 中,表达式 null + ''
的计算结果为字符串 'null'
。
这将是更改此参数值的简单方法,因此它包含字符串 'null'。