Apache Wicket
Apache Wicket
What is Wicket?
Web Application Framework Component-Component-based Framework Wicket 1.4 is Java 1.5+ compliant
Request / Response
Model 2 (MVC)
Advantages of R/R
Rendering views is generally quite fast Development can leverage existing tag libraries Recruiting developers may be easier Modern implementations have good support for DI and IoC frameworks
Disadvantages of R/R
Controller implementations must explicitly consider multiple concurrent users and threads Controllers generally work literally in terms ofHTTP requests and responses Controllers often explicitly manage state Not strictly Object Oriented The programming model is skewed
What if ... ?
What if we considered a page ... a Page? What if we considered a button ... a Button? And upon clicking a button, handled an onClick event? What if web-development resembled Swing or eventdriven development? What kind of framework could possibly enable this?!
web.xml
Wicket Config
WicketApplication.java
General Structure
Layout the element hierarchy Style the elements Markup (HTMLs Role) Code (Javas Role) Properties Files
Hello World
Markup
Java
Result
Forms (HTML)
Markup
Forms (Java)
Java
Component Family
Advantages
POJO-centric Avoid overuse of XML configuration files Fully solve back button problem Easy to create bookmarkable pages Reusability Easy to integrate with Java security Compatible with any ordinary HTML editor
Wicket Resources
Wicket Links http://wicket.apache.org/ http://wicketstuff.org/ http://cwiki.apache.org/WICKET/ Wicket Books Wicket in Action (Manning) Pro Wicket (Apress)