© 2011 IBA CZ, s.r.o.
Spring Portlet MVC
Rastislav Papp
Tomáš Polešovský
IBA CZ, s.r.o.
Agenda
●
Frameworky na tvorbu portletov
●
Spring Core - IoC Container
●
Spring Portlet MVC
●
Konfigurácia aplikácie pre použitie
frameworku
●
@Controller vs. Portlet
●
Anotácie
●
Lokalizácia
Frameworky na tvorbu portletov
●
V drvivej väčšine vychádzajú z prostredia
servletov a fungujú ako most medzi portletmi a
servletmi (portlet-bridge)
●
Snažia se napasovať svoj spôsob myslenia na
portlety - nepodporujú vývoj portletov natívne
●
Request-basd (push) frameworky se ťažko
vysporiadavajú s viacerými fázami (render,
action, resource, event)
●
Spring Portlet MVC podporuje vývoj portletov
natívne, nie pomocou portlet-bridge
Spring Core - IoC Container
●
Aplikácia beží v Springovom IoC kontajneri
●
Jednotlivé objekty (beany) aplikácie sú vytvárané
Springom
●
Beany, ktoré majú závislosti na iných beanoch,
sa nestarajú o ich vytváranie, len deklarujú že
ich potrebujú, a Spring im ich nastaví
automaticky
Spring Portlet MVC
●
Vychádza z Spring Web MVC
●
Ak viete používať Web MVC, viete aj Portlet MVC
●
Zmeny reflektujú portletové prostredie s dôrazom na
anotácie
●
Controller
●
jednoduchý POJO objekt
●
Definujeme anotáciou @Controller a
@RequestMapping
●
Zastupuje funkciu portletu
●
Model
●
Slúži na predanie dát medzi Controllerom a View
●
View
●
Prezentačná technológia, môže byť ľubovoľná
●
Zväčša JSP + JSTL
●
Velocity, Freemarker, Tiles, ...
Konfigurácia
●
Vo web.xml je nutné deklarovať Springovský
listener a Servlet a môžme uviesť lokáciu
hlavného konfiguračného súboru applicationContext.xml
(ale nieje to nutné,
defaultne sa hľadá na ceste WEB-
INF/applicationContext.xml)
●
Samotné portlety v portlet.xml:
org.springframework.web.portlet.DispatcherP
ortlet
●
Jednotlivé konfiguračné súbory portletov
deklarujeme tiež v portlet.xml, alebo sa hľadajú
na ceste WEB-INF/-
portlet.xml
Spring Portlet MVC pomocou anotácií
●
Anotácia @Controller
●
Anotácia @RequestMapping - VIEW, EDIT, ... +
ďaľšie parametre
●
Metódy @XXXMapping - podľa názvu
portletového módu ktorého požiadavky
obsluhujú:
●
@RenderMapping - doView
●
@ActionMapping - processAction
●
@EventMapping - processEvent
●
@ResourceMapping - serveResource
●
Signatúra metód nieje predpísaná, programátor
si ju volí sám
●
@InitBinder, @RequestParam, @ModelAttribute,
...
Lokalizácia
●
Podpora lokalizácie
●
Zadefinovať bean s názvom 'messageSource' (konkrétne
ukážky v príklade) v konfiguračnom súbore portletu
●
V JSP môžeme na vytiahnutie hlášky z ResourceBundlu
použiť tag zo springovského taglibu:
●
Ten sa nahradí hodnotou kľúča
Nabudúce
●
@RequestParam
●
Tvorba formulárov - @ActionMapping,
@InitBinder, @ModelAttribute, ...
●
Validácia
●
...