`
amcucn
  • 浏览: 293128 次
  • 性别: 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

相关推荐

    JS调用后台带参数的方法

    这涉及到前端JavaScript与后端服务之间的交互,特别是如何在发送请求时携带参数。 ### JS调用后台带参数的基本概念 在Web开发中,前端(通常是JavaScript)与后台(服务器端脚本如PHP、Java等)进行数据交换是非常...

    android 判断应用程序在前台还是在后台运行

    在Android系统中,判断应用程序是处于前台运行状态还是后台运行状态是开发者经常需要处理的问题,尤其是在优化应用性能、实现特定功能或管理应用生命周期时。以下将详细介绍如何在Android中进行这种判断。 首先,...

    XML做后台判断可通用

    在本文中,我们将深入探讨如何利用XML作为后台判断的基础,以及如何实现通用性,使得多个页面可以共享同一套判断逻辑。 首先,XML的结构化特性使其非常适合用来定义和组织数据。通过定义元素、属性以及层次结构,...

    Android 手势锁判断程序是否是电源键锁屏或者是否从后台唤醒

    "Android 手势锁判断程序是否是电源键锁屏或者是否从后台唤醒"这个主题涉及到的是如何在Android应用中实现对用户操作的识别,特别是针对电源键锁屏和应用从后台唤醒的场景。 首先,我们需要理解Android系统的生命...

    用ActivityLifecycleCallbacks 判断前后台运行

    用ActivityLifecycleCallbacks 判断前后台运行Application 提供有一个 registerActivityLifecycleCallbacks() 的方法,需要传入的参数就是这个 ActivityLifecycleCallbacks 接口,系统会在每个 Activity 执行完对应的...

    iOS如何保持程序在后台长时间运行

    需要注意的是,使用定位服务长时间保持后台运行可能会增加电池消耗,因此在设计时要考虑用户体验和功耗平衡。此外,苹果的审核政策也可能对这种做法有所限制,因此在实际开发中要遵循Apple的指南,确保应用符合App ...

    android判断App前后台切换代码

    在Android开发中,判断应用程序(App)是在前台运行还是在后台挂起是常见的需求,这有助于我们实现诸如监听用户活动、优化性能或者处理特定事件等功能。"android判断App前后台切换代码"这个主题主要涉及如何编写相关...

    asp.net前台调用后台方法传参数

    - 在这个例子中,尽管`ButtShow`方法被定义为接受一个字符串参数,但实际上并没有传递参数给它。因此,该方法总是返回`"123"`,这可能导致意外的行为,特别是如果期望根据参数值返回不同的结果时。 ##### 3. 第三个...

    jquery ajax 向后台传递数组参数示例

    首先,理解问题的关键在于JavaScript数组在传递给后台时,如果数组内包含的是对象,会被转化为`[object Object]`的字符串形式。这是因为HTTP请求的参数通常是键值对,而`request.getParameterValues()`方法只能接收...

    springboot后台接收axios传递的json数据为null

    在前端传入的是json字符串,后台按字符串string参数接收再解析。 请求头contentType设置为application/x-www-form-urlencoded;charset=utf-8。 后台接收请求的方法的参数可以用String类型 @RequestBody 是作用在形参...

    // 判断后台序号是否合法

    这段代码主要涉及的是一个关于后台序号合法性判断的逻辑,用于确定服务器索引是否有效,并在数据结构(链表)中进行操作。首先,我们来分析这个过程: 1. 判断后台序号是否合法:代码中的`if ( (p_nServerIndex ) |...

    鼠标连点器全后台版.rar

    只需轻轻一点,软件就能安静地在后台执行连点任务,用户则可专注于当前的操作。 在功能设计上,"鼠标连点器全后台版"考虑到了用户的便利性。即使在后台运行,用户依然可以通过任务栏快速调出设置界面,对连点速度、...

    axure后台管理系统原型.rar_Axure_Axure 后台管理_Axure、原型_Axure后台原型_后台原型

    此外,Axure的变量和函数功能,使得原型可以处理简单的逻辑运算,比如根据用户输入的数据进行条件判断,这在后台管理系统的原型设计中尤为实用。例如,权限控制模块可以通过设定变量来实现不同角色的访问权限。 在...

    android判断程序在前台还是后台的两种方式

    在Android开发中,了解应用程序的状态,即判断程序是在前台运行还是在后台挂起,是非常重要的。这可以帮助开发者实现各种功能,比如控制通知的显示、优化性能或者管理后台服务。本文将详细探讨两种判断Android程序在...

    WPF后台动态调用样式文件

    在某些场景下,我们可能需要在后台动态地加载和应用样式文件,以实现更加灵活和可扩展的应用设计。本文将深入探讨如何在WPF后台动态调用样式文件,以实现这一功能。 首先,我们需要理解WPF中的样式和资源。样式...

    安卓后台保活服务service,自动重启APP

    在安卓系统中,后台服务(Service)是一种关键的组件,用于在用户不直接与应用程序交互时执行长时间运行的任务。在标题“安卓后台保活服务service,自动重启APP”中,核心概念是“后台保活”和“自动重启”,这涉及...

    phpcms后台设置了访问域名后导致网站后台无法访问的解决方法

    一旦找到,你需要修改“admin_url”参数的值,将其设置为空字符串,比如:'admin_url'=&gt;'', 这样做将允许通过任何域名来访问后台管理界面。 编辑文件时,务必要注意文件的编码格式以及PHP语法的正确性。任何错误都...

    bat后台执行实现bat后台执行实现

    根据给定文件的信息,本文将围绕“bat后台执行”的主题展开详细讨论,旨在解析如何在Windows环境下通过批处理脚本(.bat文件)实现程序或命令的后台运行,并结合部分提供的内容进行具体分析。 ### 一、理解bat后台...

    redis后台启动redis后台启动

    这样,每次通过配置文件启动Redis时,它都会默认在后台运行。启动命令简化为: ``` redis-server ``` 3. 日志文件: 当Redis以守护进程方式运行时,日志会被重定向到`stdout`和`stderr`。为了跟踪和调试,你...

    鬼客后台数据库扫描器

    3. **智能匹配**:根据服务器的返回状态码和内容,智能判断是否找到了有效的后台入口,减少了误报和漏报的可能性。 4. **日志记录**:完整记录扫描过程中的每一个请求和响应,便于后期分析和漏洞复现。 5. **安全...

Global site tag (gtag.js) - Google Analytics