- Apache Wicket
Infobox Software
name = Apache Wicket
caption =
developer =Apache Software Foundation
latest release version = 1.3.4
latest release date = release date|2008|06|27
latest preview version = 1.4-m3
latest preview date = release date|2008|07|14
operating system =Cross-platform
programming language = Java
genre =Web application framework
license =Apache License 2.0
website = http://wicket.apache.orgApache Wicket is a lightweight component-based
web application framework for the Java programming language conceptually similar toJavaServer Faces and Tapestry. Version 1.0 was released inJune 2005 . It graduated into an Apache top-level project inJune 2007 . [cite web|url = http://martijndashorst.com/blog/2007/06/20/3-2-1|title = Wicket graduates from Apache Incubation|date = 2007-07-20|accessdate = 2008-03-07|first = Martijn|last = Dashorst.]Wicket uses plain
XHTML for templating, to enforce a clearer separation of presentation and logic and to allow templates to be edited with conventionalWYSIWYG design tools. [cite web|first = Daniel|last = Carleton|date = 2007-10-12|accessdate = 2008-03-07|url = http://www.devx.com/Java/Article/35620|title = Java Web Development the Wicket Way|publisher = DevX.]In traditional MVC frameworks, the controller works in terms of whole requests and whole pages and is responsible for pulling data out of the model to populate the view. Wicket components, on the other hand, are patterned after widgets in GUI frameworks such as Swing. Wicket components use listener delegates to react to GETs and POSTs against links and forms in the same way that Swing does to react to mouse and keystroke events on widgets. The common idiom is to instantiate a tree of "components", each of which is then bound to a named element in the XHTML. The component then becomes responsible for rendering that element in the markup. The "page" is simply the top-level containing component and is paired with exactly one XHTML template. Reuseable parts of pages may be abstracted into components called "panels", which can then be pulled whole into pages or other panels with a special tag.
Each component is backed by its own model, which represents the state of the component and is automatically serialized and persisted between requests. Model objects are treated as opaque by the framework and how components interact with their models are their own business. More complex models, however, may be made "detachable" and provide hooks to arrange their own storage and restoration at the beginning and end of each request cycle. Wicket does not mandate any particular object-persistence or ORM layer, so applications often use some combination of Hibernate objects,
EJB beans orPOJO s as models.References
Books
*
*
*ee also
External links
Introductory articles
* [http://ensode.net/wicket_first_look.html A First Look at the Wicket Framework]
* [http://www.theserverside.com/news/thread.tss?thread_id=34725 The Server Side discussion on Wicket 1.0]
* [http://weblogs.java.net/blog/timboudreau/archive/2005/04/wicket_help_tes_1.html Tim Boudreau's Blog]
* [http://blogs.sun.com/geertjan/entry/wicket_3_3_support_for Kickstart Wicket in NetBeans IDE 6.1]
* [http://www.theserverside.com/news/thread.tss?thread_id=28162 The Server Side discussion]
* [http://www.javalobby.org/java/forums/t105230.html Javalobby interview with Martijn Dashorst (project chairman)]Blogs
* [http://chillenious.wordpress.com Eelco Hillenius]
* [http://martijndashorst.com Martijn Dashorst]
* [http://www.jroller.com/page/jonathanlocke Jonathan Locke]
* [http://www.herebebeasties.com Al Maw]Documentation
* [http://wicketstuff.org/ Reusable components and patterns for Wicket]
* [http://wicketstuff.org/wicket13/ Site that has live demos and a repository of components]
* [http://cwiki.apache.org/WICKET Wiki with how-tos, a manual and more]Miscellaneous Links
* [http://anirudhvyas.com/root/2008/03/20/apache-wicket-the-greatest-java-web-framework-ever/ How Wicket stacks up against other Web frameworks]
Wikimedia Foundation. 2010.