jsp中判断语句和javacript中判断语句有一个小差别
今天做了一个小例子,就是在jsp中的一个简单的判断:
<%String strUserId = request.getParameter("login_user");
String strPwd = request.getParameter("login_password");
if(strUserId=="123"))
{
if(strPwd=="123"))
out.println("<script>alert('登陆成功');document.location = 'welcome.html'</script>");
else
out.println("<script>alert('用户名或密码错误!');document.location = 'login.html'</script>");
}
else{
out.println("<script>alert('用户名或密码错误!');document.location = 'login.html'</script>");
}
%>
这段代码运行起来出错,判断语句不执行。。这是为什么呢,是因为jsp代码中对字符类型不能用”==“来判断,要用”strUserId.equalsIgnoreCase("123")或者strUserId.equals("123")“,而在javasript中对字符类型是可以用”==“进行判断的,正确的代码应该是:
<%
String strUserId = request.getParameter("login_user");
String strPwd = request.getParameter("login_password");
if(strUserId.equalsIgnoreCase("123"))
{
if(strPwd.equalsIgnoreCase("123"))
out.println("<script>alert('登陆成功');document.location = 'welcome.html'</script>");
else
out.println("<script>alert('用户名或密码错误!');document.location = 'login.html'</script>");
}
else{
out.println("<script>alert('用户名或密码错误!');document.location = 'login.html'</script>");
}
%>