求救,如何判断接收过来的数组为空?急!在线等!!!

laofei001 2007-04-20 11:49:38
我写的代码如下:

String class[]=request.getParameterValues("classid");//classid为上一页面多选表单名

if (class.length == 0) {---报错行
out.print("<script language=javascript>alert('请选择类别!')");
out.print("window.histroy.go(-1);</script>");
}

当classid传递过来为空时,系统总是报空指针错:java.lang.NullPointerException。

请各位dx指教如何解决这个问题?急!在线等!!!
...全文
953 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
W8746988 2010-10-03
  • 打赏
  • 举报
回复
public List getselect(String lname[], String zhi[]) {

if (zhi.toString()!=null && zhi.toString().equals("")) {
System.out.println("我不为空!);
}else{
System.out.println("我为空!");
}
}
这样就不会报错了,给分吧!
yksky 2007-04-26
  • 打赏
  • 举报
回复
恩,空是用null判断的,length=0说明只是没有数据,并不能用来判断为空
njp20033266njp 2007-04-25
  • 打赏
  • 举报
回复
class为空用length=0当然会出错了
用null来判
saiche05 2007-04-25
  • 打赏
  • 举报
回复
用url提交呀。href='http://10.10.10.10/made.jsp?made=made&mademade=mademade&classid=made'
likgui 2007-04-20
  • 打赏
  • 举报
回复
关注
daizhenbest 2007-04-20
  • 打赏
  • 举报
回复
方法用错了:
在form中提交~要用:
String[] values = (String[])request.getAttribute("classid");

如果不在form中提交,才用到方法:
String values[]=request.getParameterValues("classid");
============================================================
不在form中能提交吗/??
aimer311 2007-04-20
  • 打赏
  • 举报
回复
String[] values = (String[])request.getAttribute("classid");

if(values != null)
{

}
daniel_kaka 2007-04-20
  • 打赏
  • 举报
回复

方法用错了:
在form中提交~要用:
String[] values = (String[])request.getAttribute("classid");

如果不在form中提交,才用到方法:
String values[]=request.getParameterValues("classid");
li_d_s 2007-04-20
  • 打赏
  • 举报
回复
String str[] = request.getParameterValues("classid");
if(null == str || 0 == str.length){
...
}
iwillrockyou 2007-04-20
  • 打赏
  • 举报
回复
for(int i = 0;i<=class.length;i++){
System.out.println(class[i]);
}

能取到值就不为空。。。
不过估计String class[]=request.getParameterValues("classid");//
这句取不到值。。。
laofei001 2007-04-20
  • 打赏
  • 举报
回复
楼上说的办法已经试过了,还是不行啊
dhxyu 2007-04-20
  • 打赏
  • 举报
回复
J2EE技术交流群:9438177
帮助第一,互相交流,共同进步!记住:分享与贡献同等重要!
daizhenbest 2007-04-20
  • 打赏
  • 举报
回复

String class[]=request.getParameterValues("classid");//classid为上一页面多选表单名

if (class.length == 0) {---报错行
out.print("<script language=javascript>alert('请选择类别!')");
out.print("window.histroy.go(-1);</script>");
}
==============
class 是关键字,不能做变量名

String class1[]=request.getParameterValues("classid");//classid为上一页面多选表单名

if (class1==null||class1.length == 0) {---报错行
out.print("<script language=javascript>alert('请选择类别!')");
out.print("window.histroy.go(-1);</script>");
}
cydia 2007-04-20
  • 打赏
  • 举报
回复
这么常见的问题自己多try几下就调通了。费这么大力气。csdn的同仁真好心啊
daizhenbest 2007-04-20
  • 打赏
  • 举报
回复
to:baobao28(联系:jade0428@gmail.com)
你说错了imA(男的不会,会的不男)没打击我
niuniuhuang 2007-04-20
  • 打赏
  • 举报
回复
1.String class[]=request.getParameterValues("classid");//classid为上一页面多选表单名
这句里面的classid是否有这样一个参数传过来?
2.
if (class.length == 0) {---报错行
out.print("<script language=javascript>alert('请选择类别!')");
out.print("window.histroy.go(-1);</script>");
}
在这个后面是不是有用到class[](例如:class[0]),但是有没用else{}包住
lvsc 2007-04-20
  • 打赏
  • 举报
回复
String[] classids= (String[])request.getAttribute("classids");
rczjp 2007-04-20
  • 打赏
  • 举报
回复
isNull?
baobao28 2007-04-20
  • 打赏
  • 举报
回复
TO:imA(男的不会,会的不男)
别那么打击人吧,按照牛牛的说法也可以实现的,不过要把我的这些补充进去。
1.在外面添加FORM,但是ACTION可以不写
2.按钮的ONCLICK事件调用JS,在JS里给ACTION赋值,然后执行FORM.SUBMIT()
sunnykong 2007-04-20
  • 打赏
  • 举报
回复
使用数组之前,先判断一下数级是不是null值.

if(null == 数组变量)
{
...
}
加载更多回复(10)

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧