Multimediaexpo.cz je již 18 let na českém internetu !!
Apache Wicket
Z Multimediaexpo.cz
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.
Obsah |
Vlastnosti
Wicket patří mezi komponentně řízené frameworky (tzv. Component-based framework), tyto frameworky se obvykle vyznačují vysokou abstrakcí nad HTTP protokolem. 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á pouze s prosté (x)HTML šablony pro prezentační vrstvu a Java kódu pro business logiku
- Propojení prezentační vrstvy s logickou 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
- Pluginy pro vývojové prostředí:
- 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í atd.
- Podpora AJAX s alternativou klasického HTTP dotazu pro prohlížeče nepodporující JavaScript
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[1]
- Jetty servlet engine[2]
- použít webovou aplikaci[3] 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!".
- HelloWorld.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.3-strict.dtd" xml:lang="en" lang="en"> <body> <span wicket:id="message" id="message">Tento text nahradí model komponenty</span> </body> </html>
Konfigurační XML soubor aplikace
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <display-name>Wicket Examples</display-name> <filter> <filter-name>HelloWorldApplication</filter-name> <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class> <init-param> <param-name>applicationClassName</param-name> <param-value>org.apache.wicket.examples.helloworld.HelloWorldApplication</param-value> </init-param> </filter> <filter-mapping> <filter-name>HelloWorldApplication</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
Reference
- ↑ http://maven.apache.org/
- ↑ http://www.mortbay.org/maven-plugin/index.html
- ↑ http://wicket.apache.org/quickstart.html
Literatura
- Wicket: A simplified framework for building and testing dynamic Web pages
- A First Look at the Wicket Framework
- The Server Side discussion on Wicket 1.0
- Tim Boudreau's Blog
- Kickstart Wicket in NetBeans IDE 6.1
- The Server Side discussion
- Javalobby interview with Martijn Dashorst (project chairman)
Blogy
Náklady na energie a provoz naší encyklopedie prudce vzrostly. Potřebujeme vaši podporu... Kolik ?? To je na Vás. Náš FIO účet — 2500575897 / 2010 |
---|
Informace o článku.
Článek je převzat z Wikipedie, otevřené encyklopedie, do které přispívají dobrovolníci z celého světa. |