Grails Command对象无法绑定数字

Aas*_*kar 2 grails command object

大家好,我是grails的新手.我通过命令对象将字段值从gsp传递给控制器​​.在我的gsp页面上有一个叫做手机号码的字段.但是当我要通过命令对象访问它时,它会给我一个错误,因为它不会将类似98xxxxxxxx的值从字符串转换为整数.在我的命令对象中,我已经提到它为整数

 Integer mobile;
Run Code Online (Sandbox Code Playgroud)

我在gsp上的代码是:

 <label for="mobile">Mobile</label>
 <input type="text" value="${cmd?.mobile}" title="" name="mobile" id="mobile" size="30" maxlength="10"/>
Run Code Online (Sandbox Code Playgroud)

其中cmd是我的命令对象.

和控制器中的代码:

def addInstitute={InstituteCommand cmd->
   Address address=new Address();
   address.mobile=cmd.mobile;
}
Run Code Online (Sandbox Code Playgroud)

它给了我typeMismatch错误.当我输入像1111111111这样的值时,它会保存它,但是当我输入实际的移动号码时.它给了我typeMismatch错误.这个场景怎么办?

ald*_*rin 6

这是因为整数值范围是-2147483648到2147483647,而您的手机号码大于9800000000(10位数).最好将其存储为String

String mobile;
Run Code Online (Sandbox Code Playgroud)

这更有意义,因为您很可能不会对手机号码执行任何数量的操作.它还允许您存储非数字电话代码,如+, -