Home > wicket-kickoff

wicket-kickoff

Wicket-kickoff is a project mainly written in Java, it's free.

Small demonstrations of Wicket concepts

Wicket Kickoff

Om Wicket

  • Komponentbasert Web-rammeverk. Dynamisk innhold i markupen har en tilhørende Java-klasse, alt fra enkeltstående tekst (Label) til ulike paneler (Panel) på en side (WebPage)

  • Skiller presentasjon og logikk. Sider designes i ren HTML. Innhold bindes til markup v.h.a. et attributt, definert i et eget XML-namespace.

  • Stateful. Tilstand håndteres transparent (som det så fint heter) v.h.a. standard serialisering. Komponenter og deres innhold må implementere Serializable.

Hello World

github.com/runeflobakk/wicket-kickoff/tree/helloworld Minimalt prosjekt som inneholder:

  • Wicket webapp med 1 side med 1 tekstkomponent
  • web.xml konfigurasjon
  • Embedded Jetty for testing av applikasjon

Livssyklus

github.com/runeflobakk/wicket-kickoff/tree/livssyklus

Wicket oppretter ny instans av en WebPage når man går til en URL i en browser. Denne instansen er kun for gjeldende sesjon. Komponenter og innhold legges til i siden i konstruktøren.

Problem: Man går til samme instans av en side på et senere tidspunkt, men data har endret seg siden den ble instansiert. Eks visning av brukerprofil

Løsning: Wicket bruker modeller for å "referere" til objekter som er grunnlaget for data til komponenter.

Komponenter

github.com/runeflobakk/wicket-kickoff/tree/komponenter

  • Label
  • RepeatingView, ListView
  • TabbedPanel

Testing

github.com/runeflobakk/wicket-kickoff/tree/testing

Testing av Wicket-sider og enkeltkomponenter kan gjøres med WicketTester. Dette kan ses på som "lette" webtester. Man får testet bl.a.

  • binding mellom kode og markup
  • sideinnhold
  • navigering, klikking (inkl. AJAX-oppførsel)

Sengelektyre

  1. Wicket javadocs: wicket.apache.org/apidocs/1.4/
  2. web.xml configuration: www.zwiep.net/apache-wicket-web-xml.html
  3. Wicket's XHTML tags: cwiki.apache.org/WICKET/wickets-xhtml-tags.html
  4. Examples: cwiki.apache.org/WICKET/how-to-do-things-in-wicket.html
Previous:deobfuscator