日期:2014-05-20  浏览次数:20696 次

问一个大家都遇到的问题:为什么在JSP中将传进来的参数要判断是不是为空null还要判断是不是为""呢,为什么啊双重判断呢,搞不懂
难道在表单页中什么都不写有可能传进来是二个值的其中一个?变化的?不懂,请教一下。

------解决方案--------------------
我也想知道

mark
------解决方案--------------------
判断是不是为空null是来判断字符串是不是存在;判断是不是为 " "是判断字符串是不是空串。
------解决方案--------------------
例如:
String name = request.getParameter( "name ");

如果客户端传入页面没有以name为名称的可获取控件,则取得的name值为null;
如果客户端传入页面有以name为名称的可获取控件,但是没有输入值,则取得的name值为 " ";

所以都要判断。

------解决方案--------------------
楼上正解

甚至有时还会在not null的场合,trim()后再判断来确保输入全white space也无视
------解决方案--------------------

和用户不输入值是2码事
------解决方案--------------------
打个比喻,你去食堂打一碗汤,给你钱后,你必须确认食堂师父是否把碗给你,你拿到碗后,还要看看里面是否真的有汤在里面
------解决方案--------------------
有时候也会有点野生动物,比如小强飘在上面