Pavel Kolesnikov napsal(a):
Kdyz uz jste to nakousl: co je podle vas v kontextu weboveho
frameworku takova "komponenta"?

Nějaký objekt na webové stránce, který je vizuálně lokalizovatelný
a v implementaci nějak zabalený do úhledného balíčku,
takže je znovupoužitelný na jiné stránce nebo v jiném projektu.
Třeba kalendář pro výběr datumu, rozbalovací strom (třeba adresářů)
nebo textové políčko s našeptavačem.

Ve Strutsech nebo čistých JSP něco takového jde krajně obtížně,
napadá mě třeba zabalit to jako vlastní JSP tag a k němu
nějaká třída, ale v podstatě to nejde.

Ve Stripsech se komponenta dá udělat snadno jako JSP, které
se dá includovat a k němu udělaný ActionBean, který se
k tomu přiřadí pomocí tagu <stripes:useActionBean>.
Na jedné JSP stránce můžu mít komponent víc, každá
má svůj action bean který jí dodává informace pro zobrazení
a případně reaguje na kliknutí nebo odeslání formuláře v komponentě.

V Tapestry je víceméně všechno komponenta (mluvím o Tapestry 4,
které jsem zkoušel), a komponenta sestává z HTML fragmentu (šablony)
a Java třídy označené anotací @ComponentClass, která
(obdobně jako ve Stripes) dodává šabloně data pro zobrazení
a reaguje na kliknutí a odeslání formulářů. Stránky jsou
speciální případ komponent, komponenta se může skládat
z vnořených komponent.

Rozdíl mezi Stripes a Tapestry 4 je v tom, že Tapestry
komponenty identifikuje jménem, takže je můžu vložit
prostým <span jwcid="@MojeKomponenta" />
kdežto ve Stripes nejsou komponenty nijak identifikované,
vytvářím je tím, že kousek JSP používá určitý action bean.

JSF (Java Server Faces) jsou komponentami přímo posedlé,
a dají se vygooglovat tuny hotových komponent.

Makub
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Supercomputing Center Brno             Martin Kuba
Institute of Computer Science    email: [EMAIL PROTECTED]
Masaryk University             http://www.ics.muni.cz/~makub/
Botanicka 68a, 60200 Brno, CZ     mobil: +420-603-533775
--------------------------------------------------------------

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Odpovedet emailem