0

我通过ajax调用从jsp向控制器发送数据,虽然它是对象数据(不是简单的字符串),所以有时它可能在发送之前没有初始化,所以我可能会得到null 或 "null" 或 undefined

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

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

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

4

3 回答 3

0

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

于 2013-04-04T13:19:03.710 回答
0

您可以简化代码如下。

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

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

于 2013-04-04T13:24:37.293 回答
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。

于 2013-04-04T13:25:21.807 回答