今天在做一个Dubbo练习中,发现了一个问题,controller层和service层数据判断不一致,直接上代码:
public String dataTest(Student student){
String str="n service层数据测试:";
str += "nStuName是否为空字符串(==):"+(student.getName()=="");
str += "nStuName是否为空字符串(equals):"+(student.getName().equals(""));
str +="nStuName是否为空:"+(student.getName().isEmpty());
str +="nStuName是否为null:"+(student.getName()==null);
return str;
}
@RequestMapping("/dataTest")
@ResponseBody
public String dataTest(Student student){
String str="n Controller层数据测试:";
str += "nStuName是否为空字符串(==):"+(student.getName()=="");
str += "nStuName是否为空字符串(equals):"+(student.getName().equals(""));
str +="nStuName是否为空:"+(student.getName().isEmpty());
str +="nStuName是否为null:"+(student.getName()==null);
str += studentService.dataTest(student);
return str;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>demo01</title>
<script type="text/javascript" src="jquery-1.11.1-min.js"></script>
</head>
<body>
学生姓名:<input type="text" id="name"/><br>
<input type="button" id="dataTestBtn" value="点击测试"/><br/>
<textarea id="massage"></textarea><br/>
<input type="button" value="清空" id="cleanBtn2" />
</div>
</body>
<script type="text/javascript">
$(function () {
//给测试按钮添加单机事件
$("#dataTestBtn").click(function () {
var name = $("#name").val();
$("#massage").append("n name【"+name+"】数据类型为:"+typeof name);
$.ajax({
url:"dataTest",
data:{name:name},
dataType: "text",
type:"post",
success:function (data) {
$("#massage").append(data);
}
});
});
//给清空按钮添加单机事件
$("#cleanBtn2").click(function () {
$("#massage").html("");
})
})
</script>
</html>
用户输入空格的时候没有问题,如果什么也不输入,提交到后端service层使用双等号判断是否为空字符串的时候就会出和controller层中不一致。
/**
*
* (student.getName() == "")
* controller层为true
* service层为false
*/
大家在做非空判断的时候还是先判断是否为null,然后在使用length() 或者equals()或者isEmpty()判断吧。
原文地址:https://blog.csdn.net/qq_41484053/article/details/127903113
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_9973.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。