SHOW:
|
|
- or go back to the newest paste.
1 | Vraag 1: | |
2 | ||
3 | Een soort mijnveger spelletje maken. Je kreeg servlet-dispatcher.xml, en een klasse Game. | |
4 | ||
5 | Eerst wordt een form getoond, waar je 1 getal moet invullen (het aantal bommen voor het mijnvegerspel). | |
6 | - | Minimum 6, maximum 20, en als je een string ingeeft moet er ook een aangepaste error-msg komen. |
6 | + | Minimum 6, maximum 20, en als je een string ingeeft moet er ook een aangepaste error-msg komen. Ik heb dit verpakt in een klasse Number, en daarin validation-tags gezet, het is ook deze klasse die werd doorgegeven aan controller<->view-form. |
7 | ||
8 | In de handlePost van deze form moet je aan een instantie van de klasse Game het aantal bommen meegeven, | |
9 | en een lijst opvragen uit Game met het aantal bomlocaties (ik heb Array.toList(game.getShow()) gedaan, maar mss | |
10 | mag dit ook een ruwe String[] zijn, dunnoes). Je bindt deze lijst aan het model, en geeft het door aan de volgende view. | |
11 | ||
12 | In de volgende view zie je een lijst met de "bommen", in volgende vorm: | |
13 | ||
14 | <hyperlink>1</hyperlink> ? | |
15 | ||
16 | <hyperlink>2</hyperlink> ? | |
17 | ||
18 | ... | |
19 | ||
20 | Het is de bedoeling dat als je op een hyperlink drukt, er tervoorschijn komt of er een bom op die locatie zat of niet. | |
21 | In de hyperlink doe je dus een href naar /game/id, en in de controller haal je dit id eruit, om het aan de klasse Game.play(int id) | |
22 | te geven. Deze methode geeft terug of je veloren of gewonnen bent, of als je gewoon op een veilige locatie geklikt hebt. Je bent pas gewonnen als enkel de bom overblijft. | |
23 | ||
24 | Ik heb dit als volgt gedaan: een attribute isWon en isLost meegegeven aan het model. | |
25 | ||
26 | De view zag er dan +- als volgt uit (nadat je bent gewonnen/verloren moeten de hyperlinks weg, en moet er een "Play Again" link komen): | |
27 | ||
28 | if is lost or is won | |
29 | ||
30 | <lijst> | |
31 | locaties, maar zonder hyperlink | |
32 | </lijst> | |
33 | <if won> GEWONNEN,</if> | |
34 | <if lost> VERLOREN,</if> | |
35 | <hyperlink>Speel opniew (href naar het eerste form)</hyperlink> | |
36 | ||
37 | else | |
38 | ||
39 | <lijst> | |
40 | locaties mét klikbare hyperlink | |
41 | </lijst> | |
42 | ||
43 | Goed oppassen dat je, nadat je op 1 safe locatie bent, je het correcte model opnieuw meegeeft, anders resetten de locaties. | |
44 | ||
45 | Vraag 2: | |
46 | ||
47 | Je maakt een soort van "simulatie", maar deze oefening is vooral opnieuw op validation gericht. | |
48 | ||
49 | Je eerste view is een form: | |
50 | ||
51 | - Aantal vlakken (min/max, niet null) | |
52 | - Aantal worpen (min/max= moet kleiner zijn dan aantal vlakken -> custom validator voor maken!) | |
53 | - ExamenString (nietempty, maxlenght, hier w niets mee gedaan) | |
54 | - ExamenCijfer(nietnull, moet volgens pattern formaat, ik had hier moeite mee om het id view in een input-field te krijgen, zeker eens opzoeken) | |
55 | ||
56 | - | Na de validatie van al die fields, en het maken vd custom validator, gebruik je de waarden in de klasse ExamenPunten ofzo. Basicly roep je gewoon 2 setters aan |
56 | + | Ik heb opnieuw dat allemaal verpakt in een klasse Simulation, met validation tags. |
57 | ||
58 | - | in die klasse, die aantalVlakken en aantalWorpen instelt, op basis daarvan geeft die klasse een % terug (in Integervorm, raar, je moest niet de fancy fmt:percentage gebruiken denkik) |
58 | + | Na de validatie van al die fields, en het maken vd custom validator, gebruik je de waarden in de klasse ExamenPunten ofzo. Basicly roep je gewoon 2 setters aan in die klasse, die aantalVlakken en aantalWorpen instelt, op basis daarvan geeft die klasse een % terug (in Integervorm, raar, je moest niet de fancy fmt:percentage gebruiken denkik) |
59 | ||
60 | In de resultview geef je dan aantalWorpen en aantalVlakken nog eens terug, dat berekende percentage, en ExamenCijfer volgens het pattroon (met JSTL, fmt) | |
61 | ||
62 | ||
63 | ---- | |
64 | ||
65 | Algemene indruk examen: goed te doen, en 100% nadruk op validation en forms, niets van security, AOP, servlets, en al da ander getrut. |