日期:2014-05-17  浏览次数:20731 次

判断是否为空,得到的值是空,但却不能判断
Object a=request.getParameter("id");

String b=a.toString();
 
if (b.equals("")||b=="")
{
return mapping.findForward("failure");
 
}
else
{
return mapping.findForward("success");
}
a是从页面得到的参数
我想判断是否为空,但打断点也好,输出也好都为空NULL,但IF判断进入的却是ELSE,,有人帮我看下么

------解决方案--------------------
if (b.equals("")||b=="")
改成
if (b.equals("")||b==null)
------解决方案--------------------
if (b==null||"".equals(b))
最正确的判断
------解决方案--------------------
id是什么类型的参数

你是说a是null吗 那么a.toString() 不报错吗

如果id是String类型的

直接 String a=(String)request.getParameter("id");不好吗
------解决方案--------------------
if ( b==null || b.equals("") )
------解决方案--------------------
探讨

if ( b==null || b.equals("") )

------解决方案--------------------
Java code


// Be ensure, id is saved Data of String.
String str = (String)request.getParameter("id");
if (str.equals("")||b==null)
    return mapping.findForward("failure");
else
    return mapping.findForward("success");

// Maybe Struts1, Please Upgrade to Struts2, that all will be easy.

------解决方案--------------------
你的字符串的值就是null吧

"null".equals(str)
------解决方案--------------------
if (b==null||b.equals(""))
------解决方案--------------------
如果是我,会将代码改成这样,当然,最多,在加一个,异常捕获,以对付,object对象为null的情况。

Java code

  
if ((String)request.getParameter("id").equals("")||(String)request.getParameter("id")==null)
{
return mapping.findForward("failure");
  
}
else
{
return mapping.findForward("success");
}

------解决方案--------------------
探讨

你的字符串的值就是null吧

"null".equals(str)

------解决方案--------------------
10楼才是大神! 
你尝试看看if(null==b || b.trim.length==0)的判断方式.