Grails的。来自params的变量中分配了不正确的值

时间:2014-04-18 07:38:21

标签: grails groovy

当我尝试从params分配值时,它现在工作不正确。

System.out.println(params.test)   // I see 0
int test = params.test
System.out.println(test)   // I see 48

我的整数和浮点变量赋值+ 48

一些boolean valiable都指定为true

我尝试更改grails版本(2.3.7 / 2.3.4),重建项目。但它的工作是错误的。 可能是我改变了一些设置?

1 个答案:

答案 0 :(得分:7)

这里没有错。

params.test的字符串值为0

params.test = "0"

当类型转换为int时,ascii值48会被分配到test

assert 48 == (int)"0"

要从params获取字符串“0”的int值,您可以使用适用于params的原始方法

params.int('test') // int 0

类似于布尔值

params.boolean('test') //boolean true/false