Applicazione per quiz online: revisione del quiz



In questo post abbiamo aggiunto la funzionalità di revisione dei quiz alla nostra applicazione per i quiz online. L'utente può vedere le risposte corrette per tutte le domande del quiz.

Questo è il terzo post della serie di creazione di un'applicazione per quiz online utilizzando JSP Servlet.

Se non hai letto i post precedenti, ti preghiamo di leggerli, poiché ciò ti renderà più facile seguire questo post e comprenderlo completamente.





Parte 1 -

Parte 2 - Applicazione quiz - Implementazione del conto alla rovescia



In questo post aggiungeremo le seguenti funzionalità alla nostra applicazione di quiz

1. Dare all'utente la possibilità di rivedere le sue risposte al termine del quiz

2. Contrassegnare le risposte dell'utente come corrette o errate



3. Contrassegnare le domande non tentate come senza risposta

Di seguito è riportata l'istantanea della pagina dei risultati del quiz creata.

Pagina dei risultati del quiz

Cos'altro abbiamo bisogno per far funzionare la funzionalità di revisione?

java double in conversione int

L'utente può finire il quiz in qualsiasi momento, al termine del quiz, avrà la possibilità di rivedere le sue risposte. Se l'utente non risponde a una domanda e la salta facendo clic sul pulsante Avanti, tale domanda verrà visualizzata come senza risposta nella pagina di revisione dell'esame.

Per fornire all'utente il riepilogo del quiz, tutto ciò che dobbiamo fare è salvare le risposte dell'utente e quando finisce il quiz confrontarlo con la risposta effettiva della domanda.

Se la risposta dell'utente corrisponde alla risposta corretta alla domanda, viene visualizzato il simbolo corretto altrimenti il ​​simbolo della croce (x).

Applicazione per quiz online

Aggiungeremo un nuovo controller chiamato ReviewController, che estrarrà tutti i dati e li invierà a una pagina JSP per mostrarli.

Nota: stiamo recuperando le domande dal file XML quando l'utente fa clic sul pulsante successivo o precedente.

Supponiamo che un utente avvii un quiz e tenti solo una domanda, quindi faccia clic sul pulsante Fine.

Ora, nella pagina di revisione del quiz dobbiamo mostrare tutte le domande con le sue opzioni e la risposta dell'utente se era corretta o meno. Poiché in questo scenario l'utente non completa l'intero quiz, il resto delle 9 domande verrà mostrato come senza risposta.

Quindi, quando l'utente fa clic su Review Quiz per vedere le sue risposte insieme alla risposta corretta per quella domanda, dobbiamo recuperare tutte le domande dal file XML e la sua risposta corretta.

tavolo cassandra vs famiglia colonna

Struttura del progetto in Eclipse IDE

Nota: abbiamo appena incluso un nuovo controller ReviewController.

ReviewController.java

@WebServlet ('/ exam / review') public class ReviewController estende HttpServlet {private static final long serialVersionUID = 1L / ** * @see HttpServlet # HttpServlet () * / public ReviewController () {super () // TODO Auto-generated stub del costruttore} / ** * @see HttpServlet # doGet (HttpServletRequest request, HttpServletResponse response) * / protected void doGet (HttpServletRequest request, HttpServletResponse response) genera ServletException, IOException {// TODO Auto-generated method (Exam Exam) request.getSession (). getAttribute ('currentExam') request.setAttribute ('totalQuestion', exam.getTotalNumberOfQuestions ()) ArrayList reviewQuestionList = new ArrayList () Document dom = exam.getDom () for (int i = 0i

Nota: ho impostato tutte le informazioni richieste in un ArrayList di QuizQuestion e ho impostato tale ArrayList come attributo nell'ambito della richiesta.

ArrayList reviewQuestionList = new ArrayList () request.setAttribute ('reviewQuestions', reviewQuestionList)

Nella pagina JSP dobbiamo solo recuperare i valori memorizzati nell'attributo reviewQuestions.
Ho creato una pagina JSP chiamata examReview.jsp, che mostrerà il riepilogo del quiz.

Mostrando QuizQuestion insieme alle opzioni

Nella pagina JSP stiamo usando JSTL c: forEach per scorrere l'elenco di QuizQuestion impostato da ReviewController

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

$ {counter.count}. $ {option}

Visualizzazione della risposta corretta

Nota che nel file XML ho memorizzato le opzioni a partire dall'indice 0.

Ecco perché ne abbiamo aggiunto uno mostrando la risposta corretta all'utente, poiché è intuitiva per l'utente.

Risposta corretta: $ {question.correctOptionIndex + 1} 

Contrassegnare una domanda come senza risposta

Non è obbligatorio per l'utente tentare tutte le domande. Può semplicemente saltarlo facendo clic sul pulsante successivo. Allora come scopriamo se una domanda ha avuto risposta o meno?

Ho apportato una modifica al costruttore dell'esame, in modo che quando creiamo un nuovo esame, per ciascuna domanda impostiamo inizialmente anche la risposta dell'utente come -1. Quindi, quando l'utente avvia il quiz avremo la selezione dell'utente per ogni domanda anche se l'utente fa clic sul pulsante di fine su qualsiasi domanda tra il quiz.

Ma se l'utente risponde effettivamente a una domanda, -1 verrà sostituito dalla selezione dell'utente per quella domanda.

public Exam (String test, int totalNumberOfQuestions) genera SAXException, ParserConfigurationException, IOException, URISyntaxException {dom = CreateDOM.getDOM (test) for (int i = 0i

Quindi, se l'utente non risponde a una domanda e passa alla domanda successiva o fa semplicemente clic sul pulsante Fine, la risposta iniziale di -1 sarà lì. Nella pagina JSP possiamo confrontare se la selezione dell'utente è -1 o meno. Se è -1, significa che l'utente non ha risposto a quella domanda. E contrassegneremo quella domanda come senza risposta.

Senza risposta 

Visualizzazione della risposta dell'utente

Se l'utente ha effettivamente risposto a una domanda, la risposta iniziale di -1 verrà sostituita con la risposta dell'utente e sarà sostituita con 1,2,3 o 4, poiché abbiamo 4 opzioni per ogni domanda.

Hai scelto: $ {question.userSelected} 

Stiamo effettuando un test c: if per assicurarci che l'utente abbia effettivamente risposto a una domanda e quindi visualizzare la risposta dell'utente.

Contrassegnare una risposta come corretta

Se la selezione dell'utente e la risposta corretta per la domanda corrispondono, viene visualizzata un'immagine che mostra un segno corretto.

   

Contrassegnare una risposta come errata

Un semplice test c: if viene effettuato per confrontare la risposta dell'utente con l'opzione corretta della domanda. Se entrambi non sono uguali significa che l'utente ha risposto alla domanda in modo errato e viene visualizzata un'immagine con un segno di croce.

   

Fare clic sul pulsante di download per scaricare il codice.

[buttonleads form_title = 'Scarica codice' redirect_url = https: //edureka.wistia.com/medias/q2kgiq4su3/download? media_file_id = 67378724 course_id = 44 button_text = 'Scarica codice']

Hai domande per noi? Per favore menzionalo nella sezione commenti e ti risponderemo.

come stampare il log dei commit di git

Post correlati: