The Reference library consolidates documents about Wicket itself, integrating Wicket with other technologies, and how to accomplish specific tasks in Wicket.
Table of contents
- Adding Javascript or CSS using a Resource
- Bookmarkable pages and links
- Browser back & forward
- Component
- Creating a behavior to use a Javascript library
- Custom State Tracking
- Dynamically Generate a CSS Stylesheet
- Form validation messages
- Fragment
- How to do things in Wicket
- JavaScript and CSS support
- Models
- Panel
- Property Expression Language
- Testing
- Using Models
- Wicket's XHTML tags
- Wicket Inside
- Wicket reference
Adding Javascript or CSS using a Resource
Bookmarkable pages and links
Browser back & forward
Component
- Button
- Check
- CheckGroup
- CheckGroupSelector
- DropDownChoice
- How to use Ajax paging with DataView
- Link
- ListMultipleChoice
- ListView
- How to programatically add css class to list item
- How to repaint a ListView via Ajax — You can't, you need to put it into a WebMarkupContainer and repaint that container instead.
- PasswordTextField
- Radio
- Tables and Grids
- Tabs with close button
- Tabs with image
- TextField
- Versioning
Creating a behavior to use a Javascript library
Custom State Tracking
Dynamically Generate a CSS Stylesheet
Form validation messages
Fragment
How to do things in Wicket
- Adding a sign-in page served over HTTP but authenticating using HTTPS
- AJAX
- Adding Javascript from Wicket
- A StatelessAjaxFallbackLink
- Autocomplete using a Wicket model
- Calling Wicket from Javascript
- Generic Busy Indicator (for both Ajax and non-Ajax submits)
- HOWTO do Javascript call after each Wicket AJAX update
- How to handle jQuery.ajax(..) JSON request ?
- How To Make The Same Form Work With and Without Ajax
- How to write JSON response
- Identifying the key that was pressed in a serverside key handler
- Opera Ajax
- Passing HTTP parameters to Ajax callback methods
- StatelessAjaxFallbackLink -- Using Ajax with a Stateless Application
- Submitting AJAX forms with return
- Working With AjaxRequestTarget
- Application Server Notes
- BEA Weblogic 9.2 — Setup weblogic server 9.2 for a wicket based application
- JBoss Application Server
- Maven jetty6 plugin — Testing with the Maven2 Jetty6 Plugin
- Maven Jetty plugin — Running, testing and debugging with the Maven2 Jetty Plugin
- Tomcat clustering — How to setup Tomcat to test clustering with Wicket
- Websphere — Notes on using Wicket with Websphere
- Configuration
- Control where HTML files are loaded from — How to Control where HTML files are loaded from (or how do I change the strategy for naming HTML files)
- Custom resource paths — How to load templates from a location other than the classpath
- Error Pages and Feedback Messages — HTTP, Non-HTTP, and Displaying
- Java security permissions — Which security permissions are required to run Wicket in a SecurityManager
- URL Coding Strategies
- Use a different extension for template files — How to use a files with an extension other than ".html" as templates
- Wicket behind a front-end proxy — How to run Wicket behind a front end proxy server (e.g. Apache with mod_jk or mod_proxy)
- Wicket without web.xml (embedded Jetty) — How to start Wicket with embedded Jetty without requiring web.xml
- Database Interaction
- Blog Tutorial — Example Spring & JPA-Hibernate Blog application
- Databinder — External project combining Wicket and Hibernate.
- IBATIS — Mapping Java Objects to the results of SQL Queries
- Reading from a Database
- Wicket Phonebook — Example Spring & Hibernate/IBATIS CrUD app
- Excel Spreadsheet
- Facebook Integration
- Forms
- Adding Dynamic Field Prompts or Hints — Details how to add prompts which are displayed when a user is in an input field and otherwise hidden.
- Automatic styling of form errors
- Conditional Validation
- Creating a FormComponentAjaxBehavior
- Creating Custom FormComponentPanel's to build valid objects using Wicket's Form Validation Logic
- DropDownChoice Examples
- Fancy validation using AJAX, alternatives to FeedbackPanel
- Form control labels
- Forms with dynamic elements
- How to use the same Form for editing and new
- Listview with checkboxes — How to use checkboxes to select items in a listview
- Multiple submit buttons — How to use multiple submit buttons in forms
- Nested Forms
- Pass form input from Modal Window back to the caller page
- Passing parameters to pages
- Request Focus on a Specific Form Component
- Streaming Files
- Using listviews — How to use listviews in forms
- Using RadioGroups
- Validating Form Components (After Page Load)
- Validating PasswordTextField (wicket-1.2)
- Validating related fields
- General Application
- AJAX update and file download in one blow
- Building wizard functionality — How to build a wizard in Wicket
- Composite Behaviors — How to combine different behaviors into one
- Custom WebSession (Storing Objects In Session)
- Displaying content (e.g. PDF, Excel, Word) in an IFRAME
- Getting a url for display — Getting the actual URL for a WebPage as a String
- How to add or update HTML tag attributes
- How to configure mod_proxy_http for Wicket application
- How to create a custom component
- How to display a Flash movie (from a byte array)
- How to load an external image
- How to make NavigationToolbar hide paging components at limits
- How to order your feedback messages
- How-to redirect page from a pop-up
- How to redirect to an external non-Wicket page
- How to Stamp an Image Template with Context Specific Details
- How to switch to SSL mode — An explanation of how to transparently switch from http to https.
- Including JSP files in HTML templates
- Modal Windows
- Object Container, adding Flash to a Wicket Application — Hidden Excerpt
- Page construction strategies — Patterns for building pages that use inheritance
- Panels and borders — How to create reusable elements using Panels
- Raw HttpServletRequest — How to get access to the raw HttpServletRequest and HttpServletResponse objects
- Removing message bundle requirements for validation
- Render strategies — A note on the rendering strategies available
- Reusable multi step panel by using a delegate pattern
- Rss Page — How to create a Rss page in Wicket
- SEO - Search Engine Optimization — Some Search Engine Optimization tricks with wicket
- Simple Flash container based on AbstractTransformerBehavior
- Stateless pages
- Using custom converters
- Using intercept pages — remembering last visited pages and redirection
- Using JBoss Serialization in Wicket 1.5
- Wicket application behind mod_proxy_http and https
- i18n
- Models and binding
- Page with dynamic components
- Portals
- Portal HowTo — On the principle "anything's better than nothing", a capture of Ate's email to users@wicket"
- Portlet 2.0 HowTo — Portlet API 2.0 support for Wicket >= 1.4-RC2
- Use wicket as template engine
- View Layer
- Adding a markup filter
- Calling JavaScript function on wicket component's onclick
- Change anchor tag behaviour — How to change the display of anchor tags
- Consistent page layout using borders
- Create dynamic markup hierarchies using panels
- CSS-enabled feedback panel
- Dealing with cookies
- Getting Browser Information
- Getting user confirmation
- How to add tooltips
- How to change the character encoding — Out-of-date?
- How to create dynamic image overlays
- How to modify an attribute on a HTML tag
- How to remove wicket markup from output
- Including CSS resources
- JavaScript Value Injection Using wicket-velocity
- ListView and other repeaters — How to add a variable/run-time-determined number of components
- Logging Out- Invalidating Session and Redirect
- Markup inheritance — How to create consistent layout using Markup Inheritance
- Multiple markups per page — How to have one Page reference multiple markup pages
- Obfuscating urls — How to obfuscate/encrypt a wicket url
- Sourcing External Content — How to inject external content into a panel
- Using frames
- Using more than one FeedbackPanel per Page
- Wasp-Swarm (Security)
- Wicket-Extension-related notes
JavaScript and CSS support
Models
- AbstractReadOnlyDetachableModel
- AbstractReadOnlyPropertyModel
- BoundCompoundPropertyModel
- CompoundPropertyModel
- LoadableDetachableModel
- Model
- PropertyModel
- StringResourceModel
Panel
Property Expression Language
Testing
- Jetty6 testing — How to test using an embedded instance of Jetty6
- Testing Pages — How to test page rendering and flow
- Type-safe testing in wicket — How to achieve cleaner code and compile-time type-safety for your tests, probably saving 60% of your time
- Unit testing Pages — End-to-end unit testing for Wicket pages supporting AJAX
Using Models
Wicket's XHTML tags
Wicket Inside
- Component hierarchy
- Component rendering
- Lifecycle of a Wicket Application
- Page maps
- Page rendering
- Pages
- Page Storage
- Request coding strategy
- Request cycle and request cycle processor
- Request processing overview
- Request targets
- User code context
- Wicket 1.5