如何在JSP与NEXT和BACK按钮之间移动?

时间:2017-02-05 23:12:00

标签: jsp servlets

我使用servlet和JSP处理在线考试项目。管理员可以添加包含选项问题的考试。第一个JSP是他添加第一个问题的时候。它只包含下一个按钮。最后一个JSP只包含后退按钮,其他JSP包含下一个和后退按钮。每个考试有5个问题。我的问题是如何使用按钮在这些JSP之间移动。这是我的代码,我不知道为什么它不起作用

// Servlet code:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    int i=1;
    String button1=request.getParameter("back");
    String button2=request.getParameter("next");
    if(button1!=null){
        i=i-1;
    }
    if (button2!=null){
        i=i+1;
    }
    if(i==1 ){
        this.getServletContext().getRequestDispatcher("/WEB-INF/AddFirstQuestion.jsp").forward( request, response );
    }
    else if (i==5  ){
        this.getServletContext().getRequestDispatcher("/WEB-INF/AddLastQuestion.jsp").forward( request, response );

    }
    else if (i>1 && i<5){
        this.getServletContext().getRequestDispatcher("/WEB-INF/AddQuestion.jsp").forward( request, response );
    }

}

并且有一部分JSP代码:

<input type="submit" name ="next" value="Suivant"  />

1 个答案:

答案 0 :(得分:1)

首先,您的JSP代码片段不可见,尝试制作表单方法并将内部设置为方法&#34; post&#34; 。我不确定使用getServletRequest。尝试使用这个。

RequestDispatcher dispatcher = request.getRequestDispatcher("AddLastQuestion.jsp");
dispatcher.forward( request, response );

此外,你还没有得到&#34;回来&#34;属性。只接收servlet要处理的下一个属性。因此,button2将始终设置为null。 尝试这样做。 JSP

<input type="submit" name ="next" value="Suivant"  />
<input type="submit" name ="back" value="Suivant"  />

在服务器端,Servlet

if(i==1 ){
    RequestDispatcher dispatcher = request.getRequestDispatcher("AddLastQuestion.jsp");
dispatcher.forward( request, response );

}
else if (i==5  ){
    RequestDispatcher dispatcher = request.getRequestDispatcher("AddLastQuestion.jsp");
dispatcher.forward( request, response );


}