处理空值

时间:2013-04-04 13:16:12

标签: java jquery ajax jsp

我从jsp通过ajax调用向控制器发送数据,而它是对象数据(不是简单的String),所以有时它可能在发送之前没有初始化,所以我可能得到 null或&#34 ;空"或未定义

所以在控制器中我需要按以下方式进行比较

if(request.getParameter("variableName")!=null && !request.getParameter("variableName").equals("null") && !request.getParameter("variableName").equals("undefined"))

它看起来太脏了,这是处理这种情况的最佳方法吗?

3 个答案:

答案 0 :(得分:0)

在您的AJAX调用中,在提交请求之前,请确保发送非空值或空字符串(如果为null或未定义)。

答案 1 :(得分:0)

您可以简化代码,如下所示。

Object obj = request.getParameter("variableName");
if(obj != null && !obj.equals("null") && !obj.equals("undefined"))

但更好的选择是在通过ajax将数据发送到控制器之前处理它。

答案 2 :(得分:0)

避免重复操作的第一步,播种时应将结果分配给变量。

String result = request.getParameter("variableName");

然后,您可以检查该应用程序是否应该继续,而不是将逻辑锁定在某些if中。

if(result == null || "null".equals(result) || "undefined".equals(result)) {

   return; //or throw if required

}

由于您可能经常验证,您可以将代码提取到类RequestUtils,这可能有静态方法validateRequestParameter(request,“variableName”),如果有效,则返回true,否则返回false。