`
amcucn
  • 浏览: 291421 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

在后台判断参数是否为空时应当注意的一点

阅读更多

当我们在页面使用超链接进行数据提交时,如果碰到换行时需要特别注意。

       如:

 

<a href="comm_searchByClassAll.do?method=findProductByModel&cityId=${cityId } &brandCode=${brandCode }" class="font-white12-x">商品</a> 

   

注意看其中的 cityId=${cityId }&brandCode=${brandCode }之间是一个换行。

本来我的想法是,如果cityId的参数为空,在后台使用

  if(cityId == null || "".equals(cityId)) { ......... } 

   

这么一句就可以判断是否为空。可是不管我怎么弄,就是没有判断出来,非常让我郁闷!

后来仔细对比了一下浏览器状态栏上的路径,看到当cityId为空时,后面有很长的一段空白。

如:cityId=${cityId }                         ...........

此时我想到会不会是因为这一段空白,而导致判断失效?

       经过实验,终于发现确实如此,也就是说如果我们在cityId后面加了一个换行符,那么它默认为很长的一段空白,而不是简单的一个空字符:“”。如此一来,我们只需在后台使用如下方式即可以: 

 

if(cityId.trim() == null || "".equals(cityId.trim())) { .................. } 

   

这样就可以将多余的空白去掉,再进行判断是否为空。

其实我们平时在判断一个字符串是否为空时,应该养成这种习惯,就是对要判断的字符串,先进行trim()处理,这样就不会出现一些莫名其妙的问题了!

 

 

 

 

 

 

 

 

 

 

 

 

 

1
0
分享到:
评论
5 楼 zhmy0129 2011-11-17  
org.apache.commons.lang.StringUtils
StringUtils.isBlank()
判断某字符串是否为空,为空的标准是 str==null 或 str.length()==0
StringUtils.isNumeric()
判断数字
4 楼 amcucn 2008-10-27  
joylili 写道

俺不明白了,你为什么加换行符呀?(还是当时粗心多打的?)如果要是传两个或两个以上的参数就"&amp;"做连接就好了.小女子不懂,有望指教!谢谢!

加换行符是因为代码过长,然后为了方便阅读,所在才加的!
3 楼 joylili 2008-10-27  
俺不明白了,你为什么加换行符呀?(还是当时粗心多打的?)如果要是传两个或两个以上的参数就"&"做连接就好了.小女子不懂,有望指教!谢谢!
2 楼 amcucn 2008-10-25  
cityId为null的话,就不会有trim()方法了,你这句话就要报错了。
所以前面那个应该为
null== cityId
fly_ever 写道

你这里还是不对啊。
引用
if(cityId.trim() == null || "".equals(cityId.trim())) { .................. }&nbsp; 如果cityId为null的话,就不会有trim()方法了,你这句话就要报错了。所以前面那个应该为null== cityId

你说的没错,这里应该写成request.getParameter("cityId").trim()
1 楼 fly_ever 2008-10-24  
你这里还是不对啊。
引用

if(cityId.trim() == null || "".equals(cityId.trim())) { .................. } 

如果cityId为null的话,就不会有trim()方法了,你这句话就要报错了。
所以前面那个应该为
null== cityId

相关推荐

Global site tag (gtag.js) - Google Analytics