SSH中Action里复选框验证

来源:百度知道 编辑:UC知道 时间:2024/04/29 14:34:21
我用的是MyEclipse的SSH搭的三层框架,用Resourcebundle editor插件来做中文的验证。我的复选框验证没做出来
相关代码如下:
//复选框只少选一个
ActionMessages errors = new ActionMessages();
String[] channel = request.getParameterValues("channel");
int j = 0;
if(j==channel.length){
errors.add("error3",new ActionMessage("error.fuxuan"));
}
//判断errors中是否有错,有错保存后并在页面输出
if(!errors.isEmpty()){
super.saveErrors(request, errors);
return mapping.findForward("index");
}
return mapping.findForward("select");
当我从复选框中选了一个后提交没有问题页面成功跳转,但是我不选就报了一个错误:
javax.servlet.ServletException: java.lang.NullPointerException
请问高手我哪里没写对或是我少写了个什么判断。
谢谢2楼和3楼的朋友,2楼的让我知道了错误是什么。3楼的朋友虽然解决了空指针的问题,但是判断也失去作用了,但是3楼的朋友给了我灵感。我只需要把判断改成if(null==channel)就可以了,既解决了空指针问题又让我的判断起到作用。
因为3楼的代码给了我灵感,分就给3楼的了。希望我的帖可以给到其他朋友一点帮助。

如果一个都没选择,那这个用这个参数名取到的值就是空的了,也就是数组就是空,所以你应该在判断长度的同时先判断是否为空,即第一个条件改为:
if(null!=chanel&&j==channel.length){

另外你这里没必要再定义个j

java 空指针异常,如果你没有选复选框,那么你的channel[]数组就是空数组。
一个空的数组时没有channel.length方法的。 判断一下数组 是否为空