Apache Wicket

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Apache Wicket je framework pro tvorbu webových aplikací v programovacím jazyce Java. Autory tohoto frameworku jsou Jonathan Locke a Miko Matsumura. Framework vznikl v roce 2004 a jeho první verze byla uvolněna o rok později. Slovo Apache se do názvu dostalo v roce 2007, od té doby je tento projekt vyvíjen pod Apache License 2.0 organizací Apache Software Foundation.

Vlastnosti

Wicket patří mezi komponentně řízené frameworky (tzv. Component-based framework), tyto frameworky se obvykle vyznačují vysokou abstrakcí nad HTTP protokolem. +more To znamená, že programátor nepracuje s HTTP protokolem přímo, což má za důsledek, že se psaní webové aplikace v takovýchto frameworcích blíží psaní desktopových aplikací.

* Wicket se v psaní komponent podobá swingu

* Webová aplikace psaná pod Wicket se skládá z prosté (x)HTML šablony pro prezentační vrstvu a Java kódu pro business logiku. Zpracování šablony jako značkovacího jazyka je obecně vzato komplexnější, pro (x)HTML je však podpora většiny komponent včetně AJAXu, ačkoliv lze vyrobit např. +more XML šablonu generující RSS Feed.

* Propojení textové šablony a Java kódu je realizováno v (x)HTML přes atribut wicket:id u elementů, které se budou chovat dynamicky, s odpovídajícím názvem komponenty v Java kódu. Obecně je deklarován XML jmenný prostor pro prefix wicket, který definuje několik speciálních značek a atributů, pomocí kterých se obslužné třídy Wicketu svazují s šablonou a ovlivňují výsledek renderování stránky.

* Pluginy pro vývojová prostředí: # Eclipse - Wicket Bench # Netbeans - NB Wicket Support # IntelliJ IDEA - Wicket Forge

* Možnost integrace s frameworky Hibernate, Spring, Dojo a další, specificky pro Spring je ve Wicketu přímá podpora, zvláště pak pro využití beanů definovaných Springem. Další frameworky, zejména pro práci s databází, mohou obvykle fungovat nezávisle na Wicketu, jako je tomu v případě Hibernate, spíše jsou často koncipovány tak, že je vhodné použít Spring, míněno Spring Core a integraci Wicketu se Springem.

* Podpora tlačítka zpět v prohlížeči, která je umožněna pomocí ukládání verzí stránek do mapy stránek pro každé okno prohlížeče uživatelské relace

* Možnost vytváření znovupoužitelných komponent a komponenty Panel zapouzdřující více komponent pro tvorbu znovupoužitelného celku

* Připravené komponenty jako validace uživatelských vstupů, stránkování, tabulky, odkazy.

* Vlastní kontrola a zabezpečení URL, možnost vytváření URL optimalizovaných pro vyhledávače (clean URL)

* Podpora AJAX s alternativou klasického HTTP dotazu pro prohlížeče nepodporující JavaScript

* Přímá podpora jQuery - od verze Wicketu 6.0

* Interní nástroj pro řízení kontroly přístupu ke stránkám či komponentám založený na uživatelských rolích

Jak vytvořit Wicket projekt

K vytvoření projektu je zapotřebí # vývojové prostředí (Eclipse je doporučován) # Java SDK # Maven 2 # Jetty servlet engine # použít webovou aplikaci k vygenerování příkazu, který vytvoří kostru projektu # pustit aplikaci ve vývojovém prostředí a přesměrovat prohlížeč na http://localhost:8080/

Aplikace Hello world

Každá aplikace ve Wicket musí mít právě jednu instanci třídy, která rozšiřuje třídu WebApplication.

HelloWorldApplication.java

import org.apache.wicket.protocol.http.WebApplication;

public class HelloWorldApplication extends WebApplication {

/** * Konstruktor. */ public HelloWorldApplication {

}

/** * @see org.apache.wicket.Application#getHomePage */ public Class getHomePage { return HelloWorld.class; } }

Následuje vytvoření stránky rozšířením třídy WebPage

HelloWorld.java

import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.markup.html.basic.Label;

public class HelloWorld extends WebPage {

/** * Constructor */ public HelloWorld { add(new Label("message", "Hello World!")); } }

Ukázka HTML a propojení pomocí wicket:id atributu s komponentou (podmínkou propojení je shodnost hodnoty wicket:id u HTML tagu a identifikátoru komponenty). V tomto případě dojde k nahrazení textu "Tento text nahradí model komponenty" statickým modelem vytvořené komponenty Label tedy "Hello World. +more". HelloWorld. html.

Tento text nahradí model komponenty

Konfigurační XML soubor aplikace

Wicket Examples

HelloWorldApplication org.apache.wicket.protocol.http.WicketFilter

applicationClassName org.apache.wicket.examples.helloworld.HelloWorldApplication

HelloWorldApplication /*

Reference

Externí odkazy

Literatura

[url=http://www. ibm. +morecom/developerworks/web/library/wa-aj-wicket/. S_TACT=105AGY82&S_CMP=GENSITE]Wicket: A simplified framework for building and testing dynamic Web pages[/url] * [url=http://ensode. net/wicket_first_look. html]A First Look at the Wicket Framework[/url] * [url=https://web. archive. org/web/20141009225628/https://weblogs. java. net/blog/timboudreau/archive/2005/04/wicket_help_tes_1. html]Tim Boudreau's Blog[/url] * [url=http://www. theserverside. com/news/thread. tss. thread_id=28162]The Server Side discussion[/url] * [url=https://web. archive. org/web/20080905044933/http://www. javalobby. org/java/forums/t105230. html]Javalobby interview with Martijn Dashorst (project chairman)[/url].

Blogy

[url=https://web. archive. +moreorg/web/20150402223751/https://chillenious. wordpress. com/]Eelco Hillenius[/url] * [url=http://martijndashorst. com]Martijn Dashorst[/url] * [url=https://web. archive. org/web/20070507025003/http://web. mac. com/jonathan. locke/iWeb/JonathanLocke/Blog/Blog. html]Jonathan Locke[/url] * [url=https://web. archive. org/web/20170922111815/http://herebebeasties. com/]Al Maw[/url] * [url=http://boss. etnetera. cz/]Wicket @ Et netera (česky)[/url] *.

Kategorie:Java Kategorie:Webové aplikační frameworky

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top