|
||||||||||||||||||||||||||||||||||||||||||||||||
Menu
Distributions (131)
Software (10844)
|
Apache Struts (7) - JSP značky StrutsProbereme si JSP značky používané k jednoduší spolupráci s rámcem Struts.
Uživatelské značky StrutsKnihovna HTML značekTyto značky vykreslují elementy HTML stránky, přičemž naprostá většina těchto značek může mít nějakou vstupní hodnotu (většinou se jedná o vstupní položky formulářů). Standartně se tyto hodnoty nastavují v akci do objektu ActionForm, my pak pouze nastavíme atribut property, jenž určí, o kterou položku formuláře se jedná. Chceme-li ovšem brát vstupní hodnoty prvků formuláře odjinud (z DTO objektu apod.), uložíme JavaBean objekt obsahující tyto hodnoty do požadavku (requestu) nebo do session metodou setAttribute(jmeno, objekt). Posléze atributem name určíme jméno objektu, pod kterým je objekt uložen v požadavku (session) a atributem property označíme položku objektu. Pro názornost následují příklady možností: 1) Vstupní hodnoty přímo z formuláře v akci: OurForm oForm = (OurForm) form; oForm.setPolozka("vstup"); a výřez z JSP stránky: <html:input property="polozka" /> 2) Vstupní hodnoty z DTO objektu v akci: DTO dto = new DTO(); dto.setPolozka("vstup"); request.setAttribute("dtoObjekt", dto); a výřez z JSP stránky: <html:input name="dtoObjekt" property="polozka" /> button
Vykreslí na stránku tlačítko, k čemuž se použije vstupní HTML element <html:cancel> <bean:message key="button.cancel" /> </html:cancel> cancel
Podobně jako u značky checkboxVykreslí na stránku checkbox, jenž je zaškrtnutý, pokud hodnota atributu property odpovídá jednomu z řetězců true, yes nebo on. Toto nastavení se dá změnit atributem value. Prohlížeče HTML mají jednu základní necnost, a to tu, že neodesílají do formuláře nezaškrtnuté políčka, je tedy nezbytné postarat se metodou reset() o nastavení správné inicializace po použití formuláře! Nutné je to především proto, že Struts interně znovupoužívají stávající formuláře z důvodů výkonnostních. errorsVykreslí na stránku chyby vyskytnuvší se v průběhu validace a akce. Tag je nepárový a samotná podoba HTML kódu je uložena ve zdrojových svazcích zpráv. formZáklad Struts, označuje vstupní formulář do akce. Většina ostatních značek musí být vnořena uvnitř formuláře. Důležitým atributem je action, který nám označuje url akce z konfiguračního souboru Struts. Atribut method určuje metodu odesílání formuláře, a to buď POST nebo GET. hidden
Vykreslí skrytý prvek formuláře, jenž se odešle spolu s ostatními položkami. Uživatel nemá žádnou šanci změnit jeho hodnotu (pokud mu to neumožníme javascriptem). Většinou je používaný k určení jména metody akce, která je potomkem html
Generuje element imgAtributem src určíme relativní cestu k obrázku uvnitř aplikace, Struts při vykonávání zamění tuto cestu za absolutní. linkStejné jako u img s tím rozdílem, že cestu odkazu určíme buď atributem action (akce), forward (přesměrování) nebo page (relativní cesta). messagesPodobně jako značka errors, s tím rozdílem, že messages předávají nějakou informační zprávu uživateli (ne chybu). select, option, options, optionsCollectionVykreslí výberový seznam položek. Kombinací atributů name/property značky select určíme, které položky budou standartně vybrané. Vnořením option určíme jednu položku seznamu, narozdíl od options a optionsCollection, které generují celou sadu. Standartní použití je v akci: List list = new ArrayList(); //naplň list request.setAttribute("seznam", list); a na JSP stránce <html:select property="polozka"> <html:options name="seznam" /> </html:select> passwordVstupní prvek formuláře, jenž skrývá vepsaný text, což je užitečné především z hlediska bezpečnosti. To ovšem neznamená, že heslo odeslané tímto způsobem je bezpečně uloženo, pokud použijete standartní protokol http bez šifrování SSL, heslo putuje nezašifrované sítí až k příjemci! rewriteSlouží k převodu relativní cesty k souboru na absolutní podobně jako u link, s tím rozdílem, že se nejedná o odkaz. Použitelné např. k získání cesty ke kaskádovým stylům. <link href="<html:rewrite page="/theme/master.css" />" rel="stylesheet" type="text/css" /> submitGeneruje odesílací tlačítko formuláře, podobně jako u cancel a button může být použito jako párová i nepárová značka. textVstupní prvek formuláře používaní k základnímu zadávání textu. textareaVstupní prvek formuláře používaní k zadávání textu většího rozsahu. xhtmlPoužití je jednoduché, značka je nepárová a použije-li se kdekoliv na stránce, Struts automaticky začnou generovat všechny značky jako XHTML elementy. Knihovna značek LogicTyto značky rozhodují o rozhodování na stránce, de facto vytvářejí podmíněný kód JSP stránky. Tato knihovna bude nejspíš časem nahrazena JSTL (Java Standart Tag Library). Podobně jako u HTML tagů jsou u většiny těchto značek použity atributy name/property, které určují dle kterého objektu bude rozhodováno. Je-li prováděno porovnávání s nějakou konstantou, dosazujeme ji do atributu value.
Typický příklad použití následuje: v požadavku spojení máme uložený ArrayList naplněný DTO objekty obsahujícími členy phone a name. <logic:present name="list"> <logic:notEmpty name="list"> <table> <logic:iterate name="list" id="item"> <tr> <td><bean:write name="item" property="name"></td> <td><bean:write name="item" property="phone"></td> </tr> </logic:iterate> </table> <logic:notEmpty> <logic:present> Knihovna značek BeanTyto značky v určitých ohledech doplňují tagy používané v JSP k práci s objekty standartu JavaBeans, a navíc slouží k internacionalizaci aplikace. Vzhledem k tomu, že se tato knihovna v mnohém překrývá s JSTL (Java Standart Tag Library), bude v dalších verzích Struts nejspíše zrušena. Proto zde uvádím pouze značky, které v JSTL zatím nenajdete, nebo jsou zatím hojně využívané (write). messageSlouží k dosazování multijazyčných textů. Podstatnými atributy jsou key, jenž určuje název klíče ze zdrojových svazků zpráv, a bundle, který se používá k odlišení konkrétního svazku (pokud jich používáme více). writeVypíše hodnotu objektu určeného klasickou dvojicí atributů property/name. OdkazyPodrobnější popis naleznete přímo na stránkách Struts, konkrétně HTML, Logic a Bean Developer Guides. Příštěsi ukážeme načítání zdrojových svazků zpráv přímo z databáze.
|
Search Software
Search Google
|
||||||||||||||||||||||||||||||||||||||||||||||
©Pavel Kysilka - 2003-2024 | maillinuxsoft.cz | Design: www.megadesign.cz |