重定向到同一页面,但其中包含一条消息

时间:2012-07-12 05:59:29

标签: html javascript ajax jsp

我正在JSP中创建一个登录页面。我有一个index.jsp页面,其中存在表单和一些javascript scriplets。在check1.jsp文件

中完成与oracle数据库的连接以及在数据库中检查用户名和密码

我的问题是在输入用户名和密码后,当我按下登录按钮时,我已将表单链接到check1.jsp,如果用户名和密码匹配且存在,则重定向到welcome.jsp,但如果用户名是不存在或密码不匹配我必须回到index.jsp 在框下方显示一条小信息,用户名不存在或密码不匹配,目前我只是重定向到{ {1}}。

如何在同一index.jsp页面的登录框下方显示相应的小消息?

2 个答案:

答案 0 :(得分:2)

您可以在此处使用session对象:

check1.jsp

if (loginSuccess) {
    //redirect to welcome.jsp
}
else {
    session.setAttribute("error", "Username or Password is incorrect");
    //redirect to index.jsp
}

index.jsp

String msg = session.getAttribute("error");
if (msg != null) {
    %><p style="color:red"><%= msg %></p><%
}

EL和JSTL还有其他更简单的方法,但它只是一个起点。

答案 1 :(得分:1)

您不应该重定向到index.jsp,而是在这种情况下转发到index.jsp。将消息存储在某个请求属性中,转发到index.jsp,并显示消息(如果它存在于请求属性中)。

您应该使用MVC框架,以便始终使您的URL指向使用Java实现的操作(控制器),使这些操作调用业务逻辑(此处,记录用户)并将这些操作转发或重定向到适当的视图(index.jsp或welcome.jsp)。