关于springmvc后台数据验证的问题
1.date类型,两个问题:
(1)前端传入date类型数据到后台,首先进行格式转换
缺点:该方法是在进入controller方法之前进行的,如果你前端没有传值过来,或者格式错误,那么就会出现 convert类型转换错误!
@InitBinder
protected void init(HttpServletRequest request, ServletRequestDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
}
(2)后台判断date类型是否为空,首先得取消@InitBinder方法,但是取消该方法后又会出现格式的问题,因此解决的办法是使用
HttpServletRequest request 作为方法参数,通过request.getParameter()方法获取你想要的页面传过来的参数,同意用String类型接收,
然后不同的类型再进行转换,完美的解决了问题。
2.空指针NULL的问题:
在前后台参数传递的过程中,我们一定要注意参数是否传递,对象类型是否为NULL,否则使用对象的方法时就会报空指针错误;
小技巧:在一些值类型对比参数的时候,可以将值放在“==”或者“equal()”的前面,这样就避免了空指针的问题。