Apache Wicket
Apache Wicket is a component-based web application framework for Java that provides a clean separation of markup and logic with a stateful component model. It enables developers to build web applications using pure Java and HTML, without XML configuration. Wicket's stateful model stores component state on the server side while providing Ajax integration, type-safe page parameters, and deep testability. It is maintained by the Apache Software Foundation.
APIs
Apache Wicket Component API
The Wicket Component API provides the core Java classes for building web UIs. Pages extend WebPage, components extend Panel, Form, Link, Button, and other base classes. The mode...
Features
Server-side stateful component model with automatic state serialization and clustering support.
No JSP, no annotations on HTML, no XML mappings - just Java classes and plain HTML templates.
Type-safe page parameters using PageParameters with automatic encoding/decoding.
Built-in Ajax behaviors and components for partial page updates without JavaScript coding.
WicketTester class provides comprehensive unit testing without a running servlet container.
Built-in CSRF protection, authorization strategies, and secure page parameters.
Use Cases
Complex business applications with rich server-side state management.
Data entry applications with complex validation and type conversion.
CMS backends with hierarchical content management and editorial workflows.
Integrations
SpringComponentInjector for Spring bean injection into Wicket components.
CDI/Weld integration for Jakarta EE dependency injection in Wicket.
Hibernate model integration for domain objects bound to Wicket components.
Wicket Bootstrap library for Bootstrap CSS integration.