我有一个名为menu.jsp
的JSP页面。在此页面上,用户必须从菜单中选择一个选项。我已经使用JavaScript在每个菜单项上实现了onclick("myredirect(choiceValue)")
。该功能使用确认弹出框来检查用户是否想继续他当前的选择。如果用户选择ok,那么它将返回true并将存储在check
变量中。我想将此作为choiceValue
发送到名为CheckLogin.java
的servlet,该servlet检查用户是否使用会话跟踪登录。如果用户未登录,则会将其重定向到login.jsp
页面,否则他将被重定向到instructions.jsp
页面。
我已经实现了以下所有内容。我想在整个会话期间使用choiceValue
,但它没有按照我的预期工作。
menu.jsp
<script type="text/javascript">
<!--
function myredirect(choiceValue){
var check=window.confirm("You have Choosen "+choiceValue+" !\n Do you want to continue?");
if(check){
window.location.replace("checklogin.do?choice="+choiceValue);
//window.location.replace("instructions.jsp?choice="+choiceValue);
}
}
//-->
</script>
CheckLogin.java
public class CheckLogin extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//cache controlling
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires",0);
response.setHeader("Cache-Control", "no-cache");
HttpSession session=request.getSession(false);
if(session==null) //checking existing session
response.sendRedirect("login.jsp");
else if(session.isNew())
response.sendRedirect("login.jsp");
else{
//setting choiceValue to session object so that it can be used further
String choiceValue=request.getParameter("choice");
session.setAttribute("choice",choiceValue);
response.sendRedirect("instructions.jsp"); //redirecting to instruction.jsp page
}
}