我使用servlet和JSP开发了一个在线考试项目。管理员可以添加包含带有其选项的问题的检查。第一个JSP是他添加第一个问题的时候。它只包含next按钮,而last .The只包含back按钮,而其他按钮则包含next和back按钮。每个考试有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" />发布于 2017-02-06 15:16:08
首先,您的JSP代码片段不可见,请尝试创建一个表单方法,并在内部将方法设置为"post“。我不确定是否要使用getServletRequest。试着用这个。
RequestDispatcher dispatcher = request.getRequestDispatcher("AddLastQuestion.jsp");
dispatcher.forward( request, response );而且,你不会得到"back“属性。只接收下一个属性,以供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 );
}https://stackoverflow.com/questions/42058408
复制相似问题