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

求助,request.getParameter获取的空值不能比较
在A页面有一个表单
表单内只有
<input type="text" name="DemandNo" >
<input type="submit" value="查询">
把表单提交到B页面
在B页面用String DemandNo = request.getParameter("DemandNo") 接受数据

注意。。。问题来了
当提交空表单的时候(就是text里面什么都不写,直接提交)
B页面接受后应该是DemandNo="",我调试了也确实是等于空字符
在B页面有语句  
if (DemandNo != ""&&DemandNo!=null) {
  mark = 1;
  }//mark的初始化为0 
这段代码竟然执行了!!最后打印出mark=1 !!何解?
难道DemandNo不等于空字符??
跪求解

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

在B页面里输出DemandNo看看,###<%=DemandNo%>***,是不是有空格?

------解决方案--------------------
应该是这么写:
if (DemandNo!=null && !DemandNo.equals("")) {
mark = 1;
}//mark的初始化为0

字符串比较应该用equals。另外null的判断应该放在“”的判断之前。
养成良好的编码习惯是比较重要的。