Javascript JSP中用Servlet改变页面

Javascript JSP中用Servlet改变页面,javascript,jsp,servlets,Javascript,Jsp,Servlets,我正在写一个JSP页面,用户可以通过单选按钮选择一个选项 按下submit后,该值将传递给servlet,servlet将检查该值并更改到特定页面, 代码如下: JSP 奇怪的是,页面一直切换到同一页面(正确的意思是temp没有正确的值),但我检查了参数,它工作正常(它显示dog或rabbit) 为什么页面没有更改?这是因为您使用了==来比较字符串值 因此,请始终使用equals()来比较字符串值,而不是= 阅读更多: 试试这个 protected void doGet(HttpServlet

我正在写一个JSP页面,用户可以通过单选按钮选择一个选项 按下submit后,该值将传递给servlet,servlet将检查该值并更改到特定页面, 代码如下: JSP

奇怪的是,页面一直切换到同一页面(正确的意思是
temp
没有正确的值),但我检查了参数,它工作正常(它显示dog或rabbit)
为什么页面没有更改?

这是因为您使用了
==
来比较字符串值

因此,请始终使用
equals()
来比较字符串值,而不是
=

阅读更多:

试试这个

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     String forward="";
     String temp = request.getParameter("dorr");
     if (temp.equals("dog")){
        forward = DOG_JSP;
     } else if (temp.equals("rabbit")){
        forward = RABBIT_JSP;
     } else {
       forward = MAIN_JSP;
     }
    RequestDispatcher view = request.getRequestDispatcher(forward);
    view.forward(request, response);  
}

此链接可能会回答您的问题:@BalusC:谢谢您的语法编辑。
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String forward="";
String temp = request.getParameter("dorr");
if (temp=="dog"){
forward = DOG_JSP;
} else if (temp=="rabbit"){
forward = RABBIT_JSP;
} else forward = MAIN_JSP;
RequestDispatcher view = request.getRequestDispatcher(forward);
view.forward(request, response);  }
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     String forward="";
     String temp = request.getParameter("dorr");
     if (temp.equals("dog")){
        forward = DOG_JSP;
     } else if (temp.equals("rabbit")){
        forward = RABBIT_JSP;
     } else {
       forward = MAIN_JSP;
     }
    RequestDispatcher view = request.getRequestDispatcher(forward);
    view.forward(request, response);  
}