Интернет квиз апликација: квиз преглед



У овом посту додали смо функционалност прегледа квиза у нашу интернетску апликацију за квиз. Корисник може видети тачне одговоре на сва питања у квизу.

Ово је трећи пост у низу креирања интернетске квиз апликације која користи ЈСП Сервлет.

Ако нисте прочитали претходне постове, прођите кроз њега, јер ће вам то олакшати праћење овог поста и његово потпуно разумевање.





Део 1 -

Део 2 - Квиз апликација - Примена одбројавања времена



У овом посту додаћемо следеће функционалности нашој апликацији за квиз

1. Давање кориснику могућности да прегледа своје одговоре по завршетку квиза

2. Означавање корисникових одговора тачним или нетачним



3. Означавање питања без покушаја као неодговорених

Испод је снимак створене странице резултата квиза.

Страница резултата квиза

Шта још захтевамо да би функционалност прегледа функционисала?

Корисник може завршити квиз било када, по завршетку квиза имаће могућност прегледа својих одговора. Ако корисник не одговори на питање и прескочи га кликом на следеће дугме, тада ће то питање бити приказано као неодговорено на страници за преглед испита.

Да бисмо кориснику пружили резиме квиза, све што морамо да урадимо је да сачувамо одговоре корисника и када заврши квиз упоредимо га са стварним одговором на питање.

Ако се одговор корисника подудара са тачним одговором на питање, тада ћемо приказати тачан симбол елсе цросс (к) симбол.

како тестирати базу података

Онлине квиз апликација

шта је дак у моћи би

Додаћемо нови контролер под називом РевиевЦонтроллер, који ће издвојити све податке и послати их на ЈСП страницу да се прикажу.

Напомена: Преузимамо питања из КСМЛ датотеке када корисник кликне на следеће или претходно дугме.

Претпоставимо да корисник започне квиз и покуша само једно питање, а затим кликне на дугме Заврши.

Сада на страници за преглед квиза морамо да прикажемо сва питања са њиховим опцијама и одговором корисника да ли је тачан или не. Будући да у овом сценарију корисник не испуњава цео квиз, остатак од 9 питања биће приказан као неодговорен.

Дакле, када корисник кликне на Квиз прегледа да би видео његове одговоре заједно са тачним одговором на то питање, морамо да преузмемо сва питања из КСМЛ датотеке и њен тачан одговор.

Структура пројекта у Ецлипсе ИДЕ

Напомена: Управо смо укључили један нови контролер РевиевЦонтроллер.

РевиевЦонтроллер.јава

@ВебСервлет ('/ екам / ревиев') јавна класа РевиевЦонтроллер проширује ХттпСервлет {привате статиц финал лонг сериалВерсионУИД = 1Л / ** * @сее ХттпСервлет # ХттпСервлет () * / публиц РевиевЦонтроллер () {супер () // ТОДО Аутоматски генерисано стуб конструктора} / ** * @сее ХттпСервлет # доГет (ХттпСервлетРекуест захтев, ХттпСервлетРеспонсе одговор) * / заштићен воид доГет (ХттпСервлетРекуест захтев, ХттпСервлетРеспонсе одговор) баца СервлетЕкцептион, ИОЕкцептион испит = метод ТОЕкцептион = створени испит {ИОЕкцептион = испит ТОБЕкцептион = испит ТОБОДЕкцептион = испит ИОЕКСцептион = створен рекуест.гетСессион (). гетАттрибуте ('цуррентЕкам') рекуест.сетАттрибуте ('тоталКуестион', екам.гетТоталНумберОфКуестионс ()) АрраиЛист ревиевКуестионЛист = нев АрраиЛист () Доцумент дом = екам.гетДом () фор (инт и = 0и

Напомена: Све потребне информације сам поставио у АрраиЛист КуизКуестион и поставио сам тај АрраиЛист као атрибут у опсегу захтева.

АрраиЛист ревиевКуестионЛист = нови АрраиЛист () рекуест.сетАттрибуте ('ревиевКуестионс', ревиевКуестионЛист)

На ЈСП страници морамо само да преузмемо вредности сачуване у атрибуту ревиевКуестионс.
Направио сам ЈСП страницу која се зове екамРевиев.јсп и која ће приказати резиме квиза.

Приказивање питања квиза заједно са опцијама

На ЈСП страници користимо ЈСТЛ ц: форЕацх за итерацију листе КуизКуестион коју је поставио РевиевЦонтроллер

  
$ {цоунтер.цоунт}. $ {куестион.куестион}

$ {цоунтер.цоунт}. $ {оптион}

Приказује се тачан одговор

Имајте на уму да сам у КСМЛ датотеци сачувао опције почев од индекса 0.

Због тога смо додали један док смо кориснику приказивали тачан одговор, јер је то кориснику интуитивно.

Тачан одговор: $ {куестион.цоррецтОптионИндек + 1} 

Означавање питања без одговора

Није обавезно да корисник покушава сва питања. Једноставно га може прескочити кликом на следеће дугме. Па како да сазнамо да ли је на неко питање одговорено или не?

Направио сам једну промену у конструктору испита, тако да када креирамо нови испит, за свако питање у почетку постављамо и одговор корисника као -1. Дакле, када корисник започне квиз, имаћемо избор корисника за свако питање, чак и ако корисник само кликне на дугме „Заврши“ на било ком питању између квиза.

Али ако корисник заиста одговори на питање, -1 ће бити замењен корисниковим избором за то питање.

јавни испит (тест низа, инт тоталНумберОфКуестионс) баца САКСЕкцептион, ПарсерЦонфигуратионЕкцептион, ИОЕкцептион, УРИСинтакЕкцептион {дом = ЦреатеДОМ.гетДОМ (тест) за (инт и = 0и

Дакле, ако корисник не одговори на питање и прескочи на следеће питање или само кликне на дугме „Заврши“, почетни одговор од -1 биће тамо. На ЈСП страници можемо упоредити да ли је избор корисника -1 или не. Ако је -1, значи да корисник није одговорио на то питање. И ми ћемо то питање означити као неодговорено.

Без одговора 

Приказује се одговор корисника

Ако је корисник заиста одговорио на питање, почетни одговор -1 биће замењен корисниковим одговором и биће замењен са 1,2,3 или 4, јер за свако питање имамо 4 опције.

Одабрали сте: $ {куестион.усерСелецтед} 

Правимо тест ц: иф да бисмо били сигурни да је корисник заиста одговорио на питање, а затим приказали одговор корисника.

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

Означавање одговора тачним

Ако се избор и тачан одговор корисника на питање подударају, приказујемо слику која показује тачну ознаку.

   

Означавање одговора нетачним

Једноставно ц: ако је направљен тест за упоређивање одговора корисника са тачном опцијом питања. Ако оба нису једнака, значи да је корисник нетачно одговорио на питање и приказујемо слику која показује попречни знак.

   

Кликните на дугме за преузимање да бисте преузели код.

[буттонлеадс форм_титле = ”Преузми код” редирецт_урл = хттпс: //едурека.вистиа.цом/медиас/к2кгик4су3/довнлоад? медиа_филе_ид = 67378724 цоурсе_ид = 44 буттон_тект = ”Преузми код”]

Имате питање за нас? Молимо вас да то споменете у одељку за коментаре и јавићемо вам се.

Повезани постови: