Zdravim, Celkem pouzitelny se mi jevi Struts2, zalozeny na WebWorku. Co me zejmena zaujalo: - Struts2 nevyzaduje pouziti tech prisernych ActionForm formularu, kterych bylo vzdy v projektu mraky a nic moc nedelaly. Clovek tedy mohl vve Struts1 pouzivat dyna action formy, ale ty stejne musel minimalne registrovat v konfiguracnich XML, jejichz velikost se rapidne zvetsovala a prehlednost zmensovala. - Akce jsou ted POJO objekty, ktere neextenduji/neimplementuji zadny pochybny inteface (-> jednodusi testovani), pri submitu formulare se setuji property primo na te akci. - Akce muze mit vice vykonnych metod libovolneho jmena (ne tedy jen jednu metodu execute jako v Struts1), coz se mi jevi jako skvele pro CRUD akce, ktere tak mohou byt soucasti jedne Action bez toho, ze bych akce musel rozlisovat nejakym parametrem requestu a pak delat v execute rozskok apod. Metody v Action se rozlisuji uvedenim jmena metody v URL (bud za !, nebo za / - .../user.action!insert .../user.action/insert apod). - Ze stranky je mozne akci volat akci primo bez toho, ze bych musel tu akci volat nejak predem (tj. jit na akci pres jeji URL, tam vse ulozit do scope promennych a forwardovat se na stranku, kde bych s temi scope promennymi dale pracoval). Tj. napriklad naplneni obsahu comba hodnotama znamena toto:
<s:action id="po_list" name="po_list" namespace="/m/test" flush="false"/> <s:form action="po_dump" namespace="/m/test" id="dump"> <table> <tr> <td>PO type:</td> <td> <s:select name="entityName" size="1" list="#po_list.entityNames" value="#po_list.selectedEntityName"/> <-- zavola na akci po_list metody getEntityNames() a getSelectedEntityName() --> </td> - Podpora namespacu akci. Namespacy se mohou extendovat, cimz se daji akce lepe organizovat (spolecne sdilene akce vs. specificke akce). Struts1 mely neco podobneho v podobe "modulu", ale ty namespacy mi prijdou dotazenejsi. Par mensich much Struts2 jeste ma, ale uz existuje stabilni produkcni verze. Honza -----Původní zpráva----- Od: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] za uživatele Jiøí Chaloupka Odesláno: Friday, March 23, 2007 07:28 Komu: Java Předmět: Re: Jakarta Struts ? Souhlas, nicméně bych na to pohlížel ještě z jedné strany. Pokud je nějaký projekt vyvíjen soukromou osobou mimo korporátní podporu, hrozí Vám v případě, že ta osoba na projektu přestane pracovat a nikdo její práci nepřevezme, že po čase budete muset přepisovat kus aplikace jenom proto, že vyvstane nutnost přechodu na novější platformu, přičemž starý kód na ní už nebude fungovat (příklad - IT zákazníka se rozhodne přejít na novější verzi aplikačního serveru a dá vám řekněme půl roku, aby jste aplikaci na nové verzi vyzkoušel a případně upravil). Příklad kdy se něco takového stalo, byť tak trochu v uvozovkách, je ReiserFS. Na druhou stranu, pokud se přidržíte knihoven a postupů v oficiálních větvích, je pravděpodobnost toho, že k něčemu podobnému dojde, znatelně nižší. Kolega tu uváděl EJB2.0, konkrétně entity beany. Jasně že dnes je Hibernate EJB3.0 podstatně dál, ale entity beany jsou přesto velmi dobře použitelné a jsou podporovány všemi aplikačními servery dnes a troufám si tvrdit, že ještě pár let podporovány budou. Čili zvažoval bych to i z tohoto pohledu, ale v daném případě záleží kdo je Váš zákazník a jestli záleží na Vás, na čem ta aplikace poběží, nebo jestli v tom máte jen "doporučující slovo" Jirka Martin Kuba napsal(a): Jiří Hradil wrote: Dobrý den Martine, Stripes jsou velmi hezké a jednoduché-nasadil byste je však do produkčního prostředí (stabilita, řešení problémů)? Obávám se trochu dalšího vývoje, JSF od Sunu jsou sice složité, ale z dlouhodobého pohledu se mi právě JSF jeví jako stabilní a podporovaná platforma. Odpovědí se bohužel musím posunout do oblasti dojmologie. Když je něco jednoduché, tak to taky má tendenci být stabilnější a případné problémy jsou řešeny rychleji, než u složitých řešení. Že je něco podporováno nějakou velkou firmou není záruka ničeho. Hraju si s webovými aplikacemi touhle dobou deset let, a pamatuju se například na dobu, kdy firma IBM propagovala svůj webový server ICSS (IBM Internet Connection Secure Server) jako ten správný server, a ostouzela Apache. A ejhle, do dvou let IBM zahodila ICSS, a začala používat a propagovat Apache, protože byl *lepší*. Stejně tak si firma SUN vymyslela Entity Enterprise Java Beans, a asi osm let je propagovala jako to správné řešení, aby nakonec uznala, že to nikdo nechce používat a všichni používají Hibernate, a EJB v poslední verzi místo Entity EJB používají JPA, což je přejmenované API od Hibernate. Co se týká webových aplikací, tak SUN vymyslela servlety, což byla dobrá věc. Ale pak si vymyslela JSP se skriptlety, což byla špatnost a reakce na vznik Mikrosoftích ASP, a propagovala je dlouhá léta. Až nakonec musela uznat, že skriptlety jsou špatnost a pod tlakem úspěšných Struts vytvořila JSTL tagy (podle Strutsích JSP tag libraries) a přidala EL jazyk, který IMHO převzala ze Strutsů, které ho převzaly z Freemarkeru. V době, kdy SUN propagovala JSP verze 1.0, bylo zdaleka nejlepší používat Freemarker. Čili věci podporované SUNem jsou možná stabilní v tom smyslu, že z důvodů zpětné kompatibility budou použitelné i v budoucnu, ale není pravda, že je proto dobré je používat i když existují lepší řešení, protože ta lepší řešení se časem prosadí a SUN je bude muset akceptovat. Makub