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错误.这个场景怎么办?
这是因为整数值范围是-2147483648到2147483647,而您的手机号码大于9800000000(10位数).最好将其存储为String
String mobile;
Run Code Online (Sandbox Code Playgroud)
这更有意义,因为您很可能不会对手机号码执行任何数量的操作.它还允许您存储非数字电话代码,如+, -