2013-04-04 134 views
0

我从jsp通过ajax调用发送数据给控制器,虽然它是对象数据(不是简单的字符串),所以有时它可能在发送之前不会初始化,所以我可能会得到null或“null “或未定义处理空值

所以在控制器我需要通过以下方式

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

它看起来太肮脏,这是处理这种情况的最好方法比较?

+0

将'request.getParameter(“variableName”)'保存到'if'语句之前的一个字符串。 – Maroun 2013-04-04 13:18:30

+0

我没有问题,我不想用null或“null”或“undefined”来比较变量,所以我正在询问有关替代方案 – commit 2013-04-04 13:20:50

回答

0

避免重复动作的第一步,母猪应该将结果分配给一个变量。

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

然后,而不是如果锁定逻辑一些,你可以检查该应用程序应继续下去。

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

    return; //or throw if required 

} 

正如你可能会验证,很多时候,你可以提取代码以类RequestUtils,可能有静态方法validateRequestParameter(请求,“VARIABLENAME”),将返回如果有效别的假假真真。

0

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

0

您可以简化代码如下。

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

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