我从jsp通过ajax调用向控制器发送数据,而它是对象数据(不是简单的String),所以有时它可能在发送之前没有初始化,所以我可能得到 null或&#34 ;空"或未定义。
所以在控制器中我需要按以下方式进行比较
if(request.getParameter("variableName")!=null && !request.getParameter("variableName").equals("null") && !request.getParameter("variableName").equals("undefined"))
它看起来太脏了,这是处理这种情况的最佳方法吗?
答案 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。