2014-10-02 75 views
-2

嗨我可以在我的jsp中获取会话值,现在我想比较会话值是否匹配文本框,如果匹配,它会将用户重定向到另一个页面否则它将保持相同的页面,我不知道如何继续,请帮助。非常感谢!比较会话值是否与文本框的值相匹配

JSP

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="ISO-8859-1"> 
<title>Factorial</title> 
</head> 
<body> 
<form action="fact" method="POST"> 
Enter a number: <input type="text" name="num"> 
<input type="submit"/> 
<%= session.getAttribute("money") %>, 
</form> 
</body> 
</html> 

的Servlet

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    // TODO Auto-generated method stub 

    HttpSession session = request.getSession(); 

     String text = request.getParameter("money"); 

     int money = (Integer)session.getAttribute("money"); 

     String testing = String.valueOf(money); 

    if(text == testing) 
    { 

    RequestDispatcher rd = request.getRequestDispatcher("MainPage"); 
    rd.forward(request, response); 
} 
else 
{ 
    response.redirect("Errorpage.jsp"); 
} 
+0

请提供您的代码示例,并解释您到目前为止所尝试的内容。 <!DOCTYPE HTML> – deyur 2014-10-02 03:11:00

+0

<元的charset = “ISO-8859-1”> 阶乘 <形式行动= “事实” 方法= “POST”> 输入一个数字: <%= session.getAttribute( “NUM”)%>,的 – Programm3r 2014-10-02 03:39:26

+0

可能重复的[如何比较Java中的字符串?](http:// stacko ver10.com/questions/513832/how-do-i-compare-strings-in-java) – 2014-10-02 12:33:53

回答

0

假设你已经得到了所谓的 “钱” 会话属性,你就不需要从JSP

<body> 
    <form action="fact" method="POST"> 
    Enter a number: <input type="text" name="num"> 
    <input type="submit"/> 
    </form> 
    </body> 




    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 



      HttpSession session = request.getSession(); 

       String text = request.getParameter("num"); 

       int money = (Integer)session.getAttribute("money"); 

       String testing = String.valueOf(money); 

      if(testing.equalsIgnoreCase(text)) 
      { 

      RequestDispatcher rd = request.getRequestDispatcher("MainPage"); 
      rd.forward(request, response); 
     } 
     else 
     { 
      response.sendRedirect("Errorpage.jsp"); 
     } 
     } 

访问如果你还没有创建一个叫做“钱”的会话属性,并且想用jsp创建它,你必须使用S criptlet。

 <body> 
     <form action="abc.do" method="POST"> 
     Enter a number: <input type="text" name="num"> 
     <input type="submit"/> 
     <% session.setAttribute("money",1000); %>, 
     </form> 
     </body> 
+0

它不会重定向到if语句中的url.MainPage是一个servlet或.jsp文件 – Programm3r 2014-10-02 08:34:56

相关问题