在login.jsp中输入用户名,密码之后,点击登录按钮,跳入loginServlet。如果数据库中没有该用户,返回到login.jsp,弹出一个层,显示"用户名或密码为空"。在loginServlet里如果没查到用户,我这样写:session.setAttribute("error", "ri"),这样存一个值用于在页面上判断。login.jsp页面如下:<script type="text/javascript">
function error()
{
document.getElementById('showErro').style.display = "block";
}
</script> <%
if(session.getAttribute("error") != null)
{
//我想实现是的是,如果 error 值不是空的,就调用JS代码里的error()方法,让层显示出来。请问大家 这个该如何实现 ? 有没有更好的方法实现这个功能?
}
%>
<form action="loginServlet" method="post" name="loginForm">
<table border="" align="center" cellspacing="">
<tr>
<td>用户名:
<input type="text" height="18" name="loginName" size="25">
</td>
</tr> <tr>
<td>密 码:
<input type="password" height="18" name="loginPass" size="25">
</td>
</tr> <tr align="center">
<td>
<!-- 跳回登录页面之后要显示的就是这个层 -->
<div style="display: none" id="showErro">
<font size="-1" color="red"> 用户名或密码不正确 </font>
</div> </td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="登录">
<input type="reset" value="重置">
</td>
</tr>
</table>
</form>
function error()
{
document.getElementById('showErro').style.display = "block";
}
</script> <%
if(session.getAttribute("error") != null)
{
//我想实现是的是,如果 error 值不是空的,就调用JS代码里的error()方法,让层显示出来。请问大家 这个该如何实现 ? 有没有更好的方法实现这个功能?
}
%>
<form action="loginServlet" method="post" name="loginForm">
<table border="" align="center" cellspacing="">
<tr>
<td>用户名:
<input type="text" height="18" name="loginName" size="25">
</td>
</tr> <tr>
<td>密 码:
<input type="password" height="18" name="loginPass" size="25">
</td>
</tr> <tr align="center">
<td>
<!-- 跳回登录页面之后要显示的就是这个层 -->
<div style="display: none" id="showErro">
<font size="-1" color="red"> 用户名或密码不正确 </font>
</div> </td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="登录">
<input type="reset" value="重置">
</td>
</tr>
</table>
</form>
String error = request.getSession.getAttribute("error");
%>
...
<script language="javascript">
var error = <%=error %>;function showError(){
if(error != ""){
error();
}
}function error()
{
document.getElementById('showErro').style.display = "block";
}
...
</script>
<body onload="showError();">
...
</body>
var error = <%=error %>;
这里报错“无法解析error”
String error = request.getSession.getAttribute("error");
error = error == null ? "" : error;
%>
// 登陆ajax校验数据合法性
function onLogin(strName, strPass){
errorLogin.hide(); // 隐藏验证信息
var url = 'login.do?'
+ 'username='
+ strName
+ '&password='
+ strPass;
$.get(url, null, callback);
}
// 设置错误信息
function callback(data){
var strBlnBack = data.substr(0, 5); if (strBlnBack == "false"){//登录失败
errorLogin.show();
}else {//成功,跳转。
window.location="index.jsp";
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String name = request.getParameter("username");
String pwd = request.getParameter("password");
/*上面,你可以写你自己的验证,这段代码是返回的信息,用来判断登录是否成功*/
PrintWriter objPrintWriter = response.getWriter();
//登录失败就写入false,否则就写别的,随便你,前台返回的时候你要根据这个串进行判断
StringBuffer sbBack = new StringBuffer("false");
objPrintWriter.print(sbBack);
objPrintWriter.close();
}
function showError(){
if(error != ""){
error();
}
}这里 调用 error()方法的时候报错"缺少函数"...
还有
函数名不要和变量名一样;error到底是什么