1
在grails中,我嘗試將數據綁定到命令對象,但是我遇到了一個奇怪的問題,其中字符串後綴會自動(無聲)從數字中剝離。例如:數據綁定Grails中的奇怪
class MyCommand {
int myInt
}
def test = {
def cmd = new MyCommand()
def myMap = [myInt:"123asdf"]
bindData(cmd, myMap)
boolean errors = cmd.hasErrors()
render errors
}
,這會使得虛假的,如果我嘗試設置敏爲「asdf123」 cmd.hasErrors()將返回true敏將被設置爲123 不過。
爲什麼會發生這種情況?有沒有一種不同的方式將數據綁定到一個對象來處理這個問題。 同樣的問題在這篇文章中討論但不提供任何解決方案:http://grails.1312388.n4.nabble.com/Data-binding-with-numbers-is-this-expected-td2073860.html
執行cmd.properties = myMap的結果相同。但是,cmd.properties ['myInt'] = myMap會拋出一個GroovyCastException,並顯示以下消息:「無法將類'java.lang.String'的對象'123asdf'轉換爲類'int'」 – kazvictor
此bug已報告給grails,在這裏跟蹤http://jira.grails.org/browse/GRAILS-6766 –