弟子向JSP师傅求救,我心灵有点创伤!

来源:百度知道 编辑:UC知道 时间:2024/05/23 17:58:26
弟子向JSP师傅求救
先请师傅粗略观看一下,下面两个body.弟子的问题是关于判断文本框中的值是否为空字符串。为什么在第一个body里面form.username.value==""就没错?而在第二个body里面username=""就有错?改成username.equals("")就没错?

<body>
<script>
function check(theForm)
{
if(form.username.value=="")
{
alert("你的用户名为空");
theForm.username.focus();
return(false);
}
if(form.password.value=="")
{
alert("你的密码为空");
theForm.password.focus();
return(false);
}
if(theForm.realname.value=="")
{
alert("你的真实户名为空");
theForm.realname.focus();
return(false);
}

}
</script>
<body>
<form method="post" action="regist.jsp" onsubmit="return check(this)">

<body>
<%
String username=request.getParameter("username");
String password=r

汗,上面一个是js,下面一个是jsp!
语言都不同,它们的“==”能想通?,还有js里是没有equals的,在jsp里“==”比较的是内存地址,equals比较的才是值!

"".equals(username)就没错了

"="和"=="的区别?

if((username==null||username.equals(""))||(password==null||password.equals("")))
不能使用“==”来判断 字符串之间的关系。
必须使用equals方法来处理

javascript和jsp是不一样的

在javascript中: == 是比较值

在jsp中 : ==比较的是地址...因为内存分配地址是随机的,,所以用户添

入的""和字符串""是不同时间内存分配的地址...当然是不同的了..

在jsp中 : equals 方法才是比较值的...就是说比较的是内容...

而不像==号比较的是内存地址...当然内容相同内存地址不同了..

祝楼主早日成功!!!