12. diel - Wicket - Prihlasovanie, pokračovanie
Minulú lekcii sme skončili vytvorením stránky pre prihlásenie. V tejto lekcii prihlasovanie dokončíme.
Úprava WicketApplication
Naša WicketApplication (vstupný bod Wick aplikácie) musia dediť od AuthenticatedWebApplication. Tým pribudnú k implementácii dve metódy:
- getWebSessionClass ()
- getSignInPage ()
Metóda getWebSessionClass () bude vracať našu session (v ktorej je implementovaná autorizačný metóda) a metóda getSignInPage () bude vracať stránku pre prihlásenie (kam bude užívateľ presmerovaný v prípade, že nie je prihlásený - signedIn = false a zároveň požaduje stránku vyžadujúce autorizáciu).
WicketApplication.java
public class WicketApplication extends AuthenticatedWebApplication { /** * @see org.apache.wicket.Application#getHomePage() */ @Override public Class<? extends WebPage> getHomePage() { return HomePage.class; } /** * @see org.apache.wicket.Application#init() */ @Override public void init() { super.init(); // add your configuration here } @Override protected Class<? extends AbstractAuthenticatedWebSession> getWebSessionClass() { return BasicAuthenticationSession.class; } @Override protected Class<? extends WebPage> getSignInPageClass() { return LoginPage.class; } }
Úprava editačné stránky
Teraz upravíme editačné stránku tak, aby sa zobrazovala iba prihláseným užívateľom. To docielime prepísaním metódy onConfigure (), ktorú majú všetky komponenty. Táto metóda sa volá pred tým, než je komponent (stránka je tiež komponent) vykreslená a používa sa často pre nastavenie viditeľnosti (visible) komponenty alebo k jej aktivovaniu (enable).
EditPage.java
@Override protected void onConfigure() { super.onConfigure(); AuthenticatedWebApplication application = (AuthenticatedWebApplication) Application.get(); AuthenticatedWebSession session = AuthenticatedWebSession.get(); if (!session.isSignedIn()) { application.restartResponseAtSignInPage(); } }
Ešte pridáme možnosť odhlásenia a to do menu v BasePage. Možnosť odhlásenia sa bude zobrazovať iba v prípade, že je používateľ prihlásený. Opäť teda použijeme metódu onConfigure () teraz v komponente Link.
BasePage.java
Link logoutLink = new Link("logout") { @Override public void onClick() { AuthenticatedWebSession.get().invalidate(); setResponsePage(HomePage.class); } @Override protected void onConfigure() { super.onConfigure(); if (AuthenticatedWebSession.get().isSignedIn()) { setVisible(true); } else { setVisible(false); } } }; add(logoutLink);
BasePage.html
<li><a href="#" wicket:id="logout" class="logout"><wicket:message key="menu.logout"/></a></li>
Upravíme tiež štýly.
style.css
#menu ul li:last-child { float: right; } #menu ul li a.logout { color: red; border: 1px solid red; } #menu ul li a.logout:hover { color: white; background-color: red; }
Nezabudnite na doplnenie resources.
menu.logout=Odhl\u00E1\u0161en\u00ED title.loginPage=P\u0159ihl\u00E1\u0161en\u00ED text.login=P\u0159ihl\u00E1\u0161en\u00ED form.username=U\u017Eivatelsk\u00E9 jm\u00E9no form.password=Heslo loginForm.username.Required=Nezadali jste u\u017Eivatelsk\u00E9 jm\u00E9no\! loginForm.password.Required=Nezadali jste heslo\! menu.logout=Logout title.loginPage=Login text.login=Login form.username=Username form.password=Password loginForm.username.Required=You have not entered the username! loginForm.password.Required=You have not entered the password!
Prihlásenie na pridávanie príspevkov.
Pridávanie príspevkov.
Príspevok bol pridaný a je zobrazený na hlavnej stránke.
Odhlásenie.
Priložený súbor obsahuje zdrojový kód vytvorené webové aplikácie.
Záver
Týmto dielom končí tento tutoriál. V dvanástich lekciách som sa vám pokúsil priblížiť webový framework Wicket. Ak ste sa niekde zasekli alebo ak vás tento framework nezaujal, môžem za to pravdepodobne ja a môj spôsob výkladu. Ak sa vám tento framework zapáčil a oceňujete jeho možnosti, vďaka patrí vývojárom, ktorí tento framework vyvíjali a vyvíja.
Ak ste v čítaní dospeli až sem, chcel by som vás poprosil o spätnú väzbu (či už pozitívne alebo negatívne).
Popularita frameworku
To, či framework prežije počiatočnej fáze a neskončí v prepadlisku dejín, závisí od mnohých faktorov. Tým najdôležitejším faktorom sú ľudia. Ak framework dokáže k sebe pritiahnu ľudí, ktorí sa mu venujú a obetujú mu svoj čas, má veľkú šancu na to, že tu bude ešte za pár ďalších rokov. A čím viac ľudí sa mu venuje, tým viac vzniká rôznych zdrojov, informácií, tutoriálov, tipu a trikov. A čím viac informácií je k dispozícii, tým je viac pravdepodobné, že bude framework používaný a naďalej rozvíjaný.
Wicket je tu už od roku 2004. Od tej doby vzniklo veľké množstvo ďalších Java webových frameworkov a aj cez to je wicket stále používaný. Wicket má aktívny komunitu. Je možné sa prihlásiť do mailing listu https://wicket.apache.org/help/email.html a požiadať o pomoc s riešením problému. Otázky je možné tiež pokladať na www.stackoverflow.com, kde bývajú veľmi rýchlo zodpovedané a ako ukazuje nasledujúci obrázok, každý deň tu pribúdajú nové otázky a ich riešenie.
Ďalším zdrojom informácií je oficiálna stránka - wicket.apache.org a podrobná užívateľská príručka - wicket.apache.org/start/userguide.html.
Inšpirácie (stránky používajúce Wicket)
Ďalšie weby používajúci Wicket nájdete napríklad na http://builtwithwicket.tumblr.com/. Tento web je samozrejme tiež vo wicket .
Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami
Stiahnuté 36x (35.99 kB)
Aplikácia je vrátane zdrojových kódov v jazyku Java