在 grails 中,我试图将数据绑定到命令对象,但是我遇到了一个奇怪的问题,即字符串后缀会自动(无声地)从数字中删除。例如:
class MyCommand {
int myInt
}
def test = {
def cmd = new MyCommand()
def myMap = [myInt:"123asdf"]
bindData(cmd, myMap)
boolean errors = cmd.hasErrors()
render errors
}
这将呈现 false 并且 myInt 将设置为 123。但是,如果我尝试将 myInt 设置为“asdf123” cmd.hasErrors() 将返回 true。
为什么会发生这种情况?是否有不同的方法将数据绑定到将处理此问题的对象。这篇文章中讨论了同样的问题,但没有提供任何解决方案:http: //grails.1312388.n4.nabble.com/Data-binding-with-numbers-is-this-expected-td2073860.html