Grind

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 25 mars 2015; kontroller kräver 14 redigeringar .
Apache Wicket
Sorts webbramverk
Utvecklaren Apache Software Foundation
Skrivet i Java
Operativ system Programvara för flera plattformar
Första upplagan 21 juni 2010 [1]
Hårdvaruplattform Java Virtual Machine
senaste versionen 9.10.0 ( 1 maj 2022 )
stat Aktiva
Licens Apache-licens 2.0
Hemsida wicket.apache.org
 Mediafiler på Wikimedia Commons

Apache Wicket  är ett ramverk med öppen källkod för att bygga webbapplikationer . Designad av Jonathan Locke 2004 .  Sedan juni 2007 har det varit ett projekt av Apache Software Foundation [2] .

Till skillnad från många ramverk som är förfrågningsstyrda, tar Wicket ett komponentbaserat tillvägagångssätt. Tillståndet för användargränssnittskomponenterna sparas när användaren begär en ny sida och återställs sedan om begäran upprepas.

Wicket- programmeringsparadigmet är bekant för Java-utvecklare. De behöver inte kunna något annat än Java och HTML. AJAX kan användas utan kunskap om JavaScript .

Wicket fjäll mycket bra. Oavsett om du arbetar i ett team på 2 eller 20 personer, kommer du att ha goda förutsättningar att separera funktionalitet ner till de minsta bitarna. Beroende på ditt projekts behov och resurser kan du dela upp utvecklingsarbetet i hela sidor, (återanvändbara) paneler eller till och med mer specialiserade komponenter. Eftersom Wicket använder vanliga HTML-sidor för att beskriva utseendet på sidor och paneler, kan du använda HTML/CSS-designers och experter för att arbeta med utseendet utan att de behöver kunna Java eller något annat språk eller syntax.

wicket approach:

  1. Endast Java och HTML  - En standard web.xml-fil räcker för anpassning. Du behöver inte slösa tid på att lära dig reglerna för XML-filer eller ett nytt språk;
  2. Sann återanvändning  - Den sista sidan kan bestå av många små block kombinerade till en enda helhet. Den skrivna koden kan placeras i en jar-fil och återanvändas utan ändringar;
  3. Enkel och kraftfull på samma gång  - Wicket är inte belamrat med många förvirrande API :er ;
  4. Att använda AJAX är möjligt utan en enda rad JavaScript  - Ja, det är möjligt, eftersom det mesta av JavaScript-koden genereras av Wicket själv. Men om du vill kan du bädda in JavaScript och vad du vill. Tja, nästan allt.

Wicket är bekvämt eftersom det saknar många XML- filer, alla inställningar görs i kod. Om dynamiska anpassningar via XML krävs kan de alltid implementeras. Programkoden är helt separerad från HTML. Programkoden består endast av Java, och endast enkla wicket-taggar läggs till i HTML-koden.

Exempelkod

Applikationstyp Hello World , bestående av 4 filer:

HelloWorld.html

HTML markup mallfil.

<!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" lång = "sv" > < body > < span wicket:id = "message" id = "meddelande" > Meddelandet går här </ span > </ body > </ html > HelloWorld.java

Sidkomponenten som kommer att bindas till uppmärkningsmallen. I det här fallet omdefinieras texten i "meddelande"-komponenten till texten "Hello World!".

paket org.wikipedia.wicket ; importera org.apache.wicket.markup.html.WebPage ; importera org.apache.wicket.markup.html.basic.Label ; public class HelloWorld utökar webbsidan { /** * Konstruktör */ public HelloWorld () { add ( new Label ( "meddelande" , "Hello World!" )); } } HelloWorldApplication.java

Huvudapplikationsklassen som dirigerar förfrågningar från hemsidan till HelloWorld-sidans komponent.

paket org.wikipedia.wicket ; importera org.apache.wicket.protocol.http.WebApplication ; public class HelloWorldApplication utökar WebApplication { /** * Constructor. */ public HelloWorldApplication () { } /** * @see org.apache.wicket.Application#getHomePage() */ public Class getHomePage () { return HelloWorld . klass ; } } web.xml

Distributionsbeskrivning som anger Wicket som standardhanterare för servleten .

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xmlns= "http://java .sun.com/xml/ns/javaee" xmlns:web= "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation= "http://java.sun .com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id= "WebApp_ID" version= "2.5" > <display-name> Wicket-exempel </ 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.wikipedia.wicket.HelloWorldApplication </param-value> </init-param> </filter> <filter-mapping> <filter-name> HelloWorldApplication </filter -name> <url-pattern> /* </url-pattern> </filter-mapping> </web-app>

Anteckningar

  1. https://projects.apache.org/json/projects/wicket.json
  2. 3…2…1…Apache Wicket (nedlänk) . Hämtad 27 juni 2011. Arkiverad från originalet 14 juli 2011. 

Litteratur

  • Vaynberg, Igor. Apache Wicket Cookbook  (obestämd tid) . — 1:a. — Packt Publishing, 2011. - S. 312. - ISBN 1-84951-160-8 .
  • Dashorst, Martijn; Hillenius, Elco. Wicket in Action  (neopr.) . — 1:a. - Manning , 2008. - S. 392. - ISBN 1-932394-98-2 .
  • Gurumurthy, Karthik. Pro Wicket  (neopr.) . — 1:a. - Apress , 2006. - S. 328. - ISBN 1-59059-722-2 . Arkiverad 23 december 2010 på Wayback Machine

Länkar