Úvod do integrovaného rámca

1. Prehľad

Wicket je rámec orientovaný na webové komponenty na strane servera Java, ktorého cieľom je zjednodušenie vytvárania webových rozhraní zavedením vzorov známych z vývoja používateľského rozhrania pre počítače.

S Wicket je možné zostaviť webovú aplikáciu iba s použitím kódu Java a stránok HTML kompatibilných s XHTML. Nie je potrebný Javascript ani konfiguračné súbory XML.

Poskytuje vrstvu v priebehu cyklu požiadaviek a odpovedí, chráni pred prácou na nízkej úrovni a umožňuje vývojárom sústrediť sa na obchodnú logiku.

V tomto článku si predstavíme základné princípy vytvorením HelloWorld Wicket aplikácia, za ktorou nasleduje úplný príklad využívajúci dva vstavané komponenty, ktoré navzájom komunikujú.

2. Inštalácia

Ak chcete spustiť projekt Wicket, pridajme nasledujúce závislosti:

 org.apache.wicket wicket-core 7.4.0 

Možno budete chcieť vyskúšať najnovšiu verziu Wicket v úložisku Maven Central, ktorá sa v čase čítania nemusí zhodovať s tu použitou.

Teraz sme pripravení vytvoriť našu prvú integrovanú aplikáciu.

3. HelloWorld Vrátka

Začnime podtriedou Wicket’s WebApplication triedy, ktorá si vyžaduje minimálne zrušenie triedy Trieda getHomePage () metóda.

Wicket použije túto triedu ako hlavný vstupný bod aplikácie. Vo vnútri metódy jednoducho vráťte a trieda objekt triedy s názvom HelloWorld:

public class HelloWorldApplication rozširuje WebApplication {@Override public Class getHomePage () {return HelloWorld.class; }}

Wicket uprednostňuje konvencie pred konfiguráciou. Pridanie novej webovej stránky do aplikácie si vyžaduje vytvorenie dvoch súborov: súboru Java a súboru HTML s rovnakým názvom (ale odlišnou príponou) v rovnakom adresári. Ďalšia konfigurácia je potrebná, iba ak chcete zmeniť predvolené správanie.

V adresári balíka zdrojového kódu najskôr pridajte HelloWorld.java:

verejná trieda HelloWorld rozširuje webovú stránku {public HelloWorld () {add (new Label ("hello", "Hello World!")); }}

potom HelloWorld.html:

Ako posledný krok pridajte definíciu filtra do súboru web.xml:

 wicket.examples org.apache.wicket.protocol.http.WicketFilter applicationClassName com.baeldung.wicket.examples.HelloWorldApplication 

To je všetko. Práve sme kódovali našu prvú webovú aplikáciu Wicket.

Spustite projekt vybudovaním a vojna spis, (balíček mvn z príkazového riadku) a umiestnite ho na servletový kontajner, napríklad Jetty alebo Tomcat.

Poďme v prehliadači získať prístup k // localhost: 8080 / HelloWorld /. Prázdna stránka so správou Ahoj Svet! sa objaví.

4. Integrované komponenty

Komponenty vo Wicket sú triády pozostávajúce z triedy Java, značiek HTML a modelu. Modely sú fasádou, ktorú komponenty používajú na prístup k údajom.

Táto štruktúra poskytuje pekné oddelenie obáv a odpojením komponentu od dátovo orientovaných operácií zvyšuje opätovné použitie kódu.

Nasledujúci príklad demonštruje, ako pridať správanie Ajaxu ku komponentu. Skladá sa zo stránky s dvoma prvkami: rozbaľovacou ponukou a štítkom. Keď sa výber v rozbaľovacej ponuke zmení, štítok (a iba štítok) sa aktualizuje.

Telo súboru HTML CafeSelector.html bude minimálny, bude obsahovať iba dva prvky, rozbaľovaciu ponuku a štítok:

Adresa: adresa

Na strane Java vytvorme štítok:

Štítok addressLabel = nový štítok ("adresa", nový PropertyModel (táto.adresa, "adresa")); addressLabel.setOutputMarkupId (true);

Prvý argument v Štítok konštruktor zodpovedajúci bránka: id pridelené v súbore HTML. Druhým argumentom je model komponentu, obal základných údajov, ktoré sú prezentované v komponente.

The setOutputMarkupId Táto metóda umožňuje, aby bol komponent vhodný na modifikáciu prostredníctvom Ajaxu. Poďme teraz vytvoriť rozbaľovací zoznam a pridať k nemu správanie Ajaxu:

DropDownChoice cafeDropdown = nový DropDownChoice ("kaviarne", nový PropertyModel (tento, "selectedCafe"), cafeNames); cafeDropdown.add (new AjaxFormComponentUpdatingBehavior ("onchange") {@Override protected void onUpdate (AjaxRequestTarget target) {String name = (String) cafeDropdown.getDefaultModel (). getObject (); address.setAddress (cafeNamesAndAddress) ()); target.add (addressLabel);}});

Tvorba je podobná ako na štítku, konštruktér prijíma integrované ID, model a zoznam názvov kaviarní.

Potom AjaxFormComponentUpdatingBehavior sa pridáva s onUpdate metóda spätného volania, ktorá aktualizuje model štítku po vydaní žiadosti ajax. Nakoniec sa komponent označenia nastaví ako cieľ na obnovenie.

Nakoniec sa komponent označenia nastaví ako cieľ na obnovenie.

Ako vidíte, všetko je jazyk Java, nebol potrebný ani jeden riadok jazyka Javascript. Aby sme mohli zmeniť to, čo sa zobrazuje na štítku, jednoducho sme upravili POJO. Mechanizmus, ktorým sa zmena objektu Java premieňa na zmenu webovej stránky, deje za oponami a nie je pre vývojára relevantná.

Wicket ponúka veľkú sadu komponentov s podporou AJAX, ktoré sú pripravené na použitie. Katalóg komponentov so živými príkladmi je k dispozícii tu.

5. Záver

V tomto úvodnom článku sme sa venovali základom integrovaného webového rámca Wicket v jazyku Java.

Wicket poskytuje vrstvu abstrakcie, ktorej cieľom je úplne zbaviť inštalatérskeho kódu.

Zahrnuli sme dva jednoduché príklady, ktoré nájdete na GitHub, aby sme vám poskytli predstavu o tom, ako vyzerá vývoj v tomto rámci.


$config[zx-auto] not found$config[zx-overlay] not found