2017-02-05 4 views
0

Я работаю над онлайн-экзаменом, используя сервлеты и JSP. Администратор может добавлять экзамены, содержащие вопросы с их вариантами. Первый JSP - это когда он добавляет первый вопрос. он содержит только следующую кнопку. Последний JSP содержит только кнопку «Назад», а другие - кнопки «Следующий» и «Назад». У каждого экзамена есть 5 вопросов. Моя проблема заключается в том, как перемещаться между этими JSP с помощью кнопок. Вот мой код, я не знаю, почему он не работаетКак перемещаться между JSP с помощью кнопок NEXT и BACK?

// 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" /> 
+0

JSP является серверной технологии и не знает о том, какая кнопка была нажата на панели инструментов браузера. Самое близкое, что вы можете сделать, это использовать javascript, чтобы получить нажатую кнопку и передать ее на страницу jsp в качестве параметра запроса - но зачем кому-то это делать? – Prashant

ответ

1

Прежде всего, вы JSP фрагмент кода ISN 't visible, Попробуйте сделать метод формы и внутри установленного метода как «post». Я не уверен в использовании getServletRequest. Попробуйте использовать этот.

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

Кроме того, вы не получаете атрибут «назад». Только следующий атрибут получен для обработки сервлета. Следовательно, кнопка2 всегда будет иметь значение 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); 


} 

 Смежные вопросы

  • Нет связанных вопросов^_^