JSTL használat simpleMVC2 alkalmazás neve: mvc2 - a JSP-példáknál szereplő simpleMVC alkalmazás módosított változata: a szövegek .properties file-okból vannak véve, a displayList.jsp JSP oldalon: a kliens lista a c:forEach JSTL elem segítségével van megjelenítve. az aktuális dátum a nyelvi beállítások függvényében jelenik meg. Az index.jsp oldalon nincs beállítva a locale, így a böngésző által küldött beállítás lesz figyelembe véve. A displayList.jsp JSP oldalon Az fmt:setLocale elem módosításával (vagy törlésével) módosíthatjuk a nyelvi beállításokat (illetve megadhatjuk, hogy a böngésző által küldött beállítás legyen figyelembe véve) Továbbá a displayList.jsp oldalra való hivatkozáskor lehetőség van a nyelvi beállítások módosítására egy loc nevű kérés paraméter megadásával. pl. http://localhost:8080/mvc2/controller?action=displaylist&loc=en_US ----------------------------------------------------------------------------------------- JSPCustomTags alkalmazás neve: jspCustomTags simple.jsp, HelloTag.java: Egyszerű törzsnélküli elem, mely kiír egy statikus szöveget. Ha a tld fájlban empty-re állítjuk a body-content elemet, fordítási hibát kapunk. heading.jsp, HeadingTag.java: attribútumok beállítása Szöveget formáz az elem attribútumai által megadott módon úgy, hogy kiír egy egyetlen cellából álló táblázatot a megadott módon formázva. Standard HTML elemeknek megfelelő attribútumai lesznek, de a JSP-ben nem jelennek meg ezek a HTML elemek debug.jsp, DebugTag.java: törzset tartalmazó elem, mely azonban nem dolgozza fel azt. Részletesebb információk megjelenítése a debug kéres-paraméter beállítása esetén. repeat.jsp, RepeatTag.java, GreetingTag.java: A jsp-ben a greeting a repeat-be van ágyazva, de amúgy nem kommunikálnak egymással. A repeat megjeleníti a törzset annyiszor, ahányszor a reps attribútumban megadjuk A greeting pedig az aktuális időtől függően köszönt (ha a verbose attribútum true -ez kifejezéssel is beállítható, nemcsak statikus string lehet-, akkor részletesebben) if.jsp, IfTag.java, IfConditionTag.java, IfThenTag.java, IfElseTag.java Egymásbaágyazott elemek, a szülő attribútumain keresztül kommunikálnak egymással: IFTag: deklarálja a condition (igaz vagy hamis) és hasCondition (be van-e már állítva) mezőket. IfConditionTag: leellenőrzi, hogy IfTag-be van-e beágyazva, a törzse értékét (jsp-kiértékelés után) lekéri és megnézi hogy igaz-e, és ez alapján beállítja a szülő condition tulajdonságát és implicit a hasCondition értékét. IfThenTag, IfElseTag: leellenőrzik, hogy IfTag-ba vannak-e beágyazva, és hogy a hasCondition be van-e már állítva. A condition alapján megmutatják vagy sem a törzsüket. iterate.jsp, iterateTei.java, iterateTag.java: változó deklarálása tei-class elemmel. iterateTei.java: egyetlen elemből álló tömb, a változó nevét és típusát az elem name és type attribútumaiból veszi iterateTag.java: a kollekció alapján inicializál egy iterator-t és ismétli a törzsét, amíg az iterator a kollekció végéig nem ér. A törzs a jsp-ben éppen a page kontextusban deklarált változó.