Онлайн приложение за тест: Преглед на тест



В тази публикация добавихме функционалност за преглед на теста към нашето онлайн приложение за викторина. Потребителят може да види правилните отговори на всички въпроси от теста.

Това е третата публикация от поредицата за създаване на онлайн приложение за тест с JSP Servlet.

Ако не сте прочели предишните публикации, моля, преминете през него, тъй като това ще ви улесни да следвате тази публикация и да я разберете напълно.





Част 1 -

Част 2 - Викторина - Прилагане на таймер за обратно отброяване



В тази публикация ще добавим следните функционалности към нашето приложение за тест

1. Даване на потребителя на възможност да прегледа отговорите си при завършване на теста

марионетка срещу готвач срещу дженкини

2. Маркиране на отговорите на потребителя като правилни или неправилни



3. Означаване на неуспешните въпроси като без отговор

По-долу е моментната снимка на създадената страница с резултатите от теста.

Страница с резултати от теста

Какво друго изискваме, за да работи функционалността за преглед?

Потребителят може да завърши теста по всяко време, след като завърши теста, той ще има възможност да прегледа отговорите си. Ако потребителят не отговори на въпрос и го пропусне, като щракне върху следващия бутон, тогава този въпрос ще бъде показан като без отговор на страницата за преглед на изпита.

За да предоставим на потребителя резюмето на теста, всичко, което трябва да направим, е да запазим отговорите на потребителя и когато той завърши теста, да го сравним с действителния отговор на въпроса.

Ако отговорът на потребителя съвпада с верния отговор на въпроса, тогава ние показваме правилния символ else cross (x) symbol.

Приложение за онлайн викторина

Ще добавим нов контролер, наречен ReviewController, който ще извлече всички данни и ще ги изпрати на JSP страница за показване.

Забележка: Извличаме въпроси от XML файла, когато потребителят щракне върху следващия или предишния бутон.

Да предположим, че потребителят стартира тест и прави опит само с един въпрос и след това кликва върху бутона Finish.

как да правя вложени таблици в html

Сега, на страницата за преглед на теста, трябва да покажем всички въпроси с опциите и отговора на потребителя дали е бил правилен или не. Тъй като в този сценарий потребителят не попълва целия тест, останалите 9 въпроса ще бъдат показани като без отговор.

Така че, когато потребителят щракне върху Викторина за преглед, за да види отговорите му, заедно с верния отговор на този въпрос, трябва да извлечем всички въпроси от XML файла и верния му отговор.

Структура на проекта в Eclipse IDE

Забележка: Току-що включихме един нов контролер ReviewController.

ReviewController.java

@WebServlet ('/ exam / review') публичен клас ReviewController разширява HttpServlet {private static final long serialVersionUID = 1L / ** * @see HttpServlet # HttpServlet () * / public ReviewController () {super () // TODO Auto-generated конструктор stub} / ** * @see HttpServlet # doGet (HttpServletRequest request, HttpServletResponse response) * / protected void doGet (HttpServletRequest request, HttpServletResponse response) хвърля ServletException, IOException = метод за изпит request.getSession (). getAttribute ('currentExam') request.setAttribute ('totalQuestion', exam.getTotalNumberOfQuestions ()) ArrayList reviewQuestionList = new ArrayList () Документ dom = exam.getDom () за (int i = 0i

Забележка: Задал съм цялата необходима информация в ArrayList на QuizQuestion и съм задал този ArrayList като атрибут в обхвата на заявката.

ArrayList reviewQuestionList = нов ArrayList () request.setAttribute ('reviewQuestions', reviewQuestionList)

В JSP страницата трябва просто да извлечем стойностите, съхранени в атрибута reviewQuestions.
Създадох JSP страница, наречена examReview.jsp, която ще покаже резюмето на теста.

Показване на QuizQuestion заедно с опциите

В JSP страницата използваме JSTL c: forEach, за да прегледаме списъка с QuizQuestion, зададен от ReviewController

  
$ {counter.count}. $ {question.question}

$ {counter.count}. $ {опция}

Показва се верен отговор

Имайте предвид, че в XML файл имам съхранени опции, започващи от индекс 0.

Ето защо добавихме един, докато показваме верния отговор на потребителя, тъй като той е интуитивен за потребителя.

Точен отговор: $ {question.correctOptionIndex + 1} 

Означаване на въпрос без отговор

Не е задължително потребителят да опитва всички въпроси. Той може просто да го пропусне, като щракне върху следващия бутон. И така, как да разберем дали отговорът на въпроса е отговорен или не?

Направих една промяна в конструктора за изпити, така че когато създаваме нов изпит, за всеки въпрос първоначално задаваме и отговора на потребителя като -1. Така че, когато потребителят стартира теста, ние ще имаме потребителски избор за всеки въпрос, дори ако потребителят просто щракне върху бутона за завършване на всеки въпрос между теста.

Но ако потребителят действително отговори на въпрос, тогава -1 ще бъде заменен от избора на потребителя за този въпрос.

публичен изпит (тест на низове, int totalNumberOfQuestions) хвърля SAXException, ParserConfigurationException, IOException, URISyntaxException {dom = CreateDOM.getDOM (тест) за (int i = 0i

Така че, ако потребителят не отговори на въпрос и премине към следващия въпрос или просто щракне върху бутона за завършване, първоначалният отговор на -1 ще бъде там. В JSP страницата можем да сравним дали изборът на потребителя е -1 или не. Ако е -1, това означава, че потребителят не е отговорил на този въпрос. И ние ще отбележим този въпрос като без отговор.

Без отговор 

Показване на отговора на потребителя

Ако потребителят действително отговори на въпрос, първоначалният отговор на -1 ще бъде заменен с отговора на потребителя и ще бъде заменен с 1,2,3 или 4, тъй като имаме 4 опции за всеки въпрос.

Вие избрахте: $ {question.userSelected} 

Правим тест c: if, за да се уверим, че потребителят действително е отговорил на въпрос и след това да покажем отговора на потребителя.

Означаване на отговора като правилен

Ако изборът и верният отговор на въпроса на потребителя съвпадат, ние показваме изображение, показващо правилен знак.

   

Означаване на отговора като неправилен

Просто c: ако се прави тест за сравняване на отговора на потребителя с правилната опция на въпроса. Ако и двете не са равни, това означава, че потребителят е отговорил неправилно на въпроса и ние показваме изображение, показващо кръстосан знак.

   

Щракнете върху бутона за изтегляне, за да изтеглите кода.

как да използвам метода tostring

[buttonleads form_title = ”Код за изтегляне” redirect_url = https: //edureka.wistia.com/medias/q2kgiq4su3/download? media_file_id = 67378724 course_id = 44 button_text = ”Код за изтегляне”]

Имате въпрос към нас? Моля, споменете го в раздела за коментари и ние ще се свържем с вас.

Подобни публикации: