GitHub

User guide

A–Z index

Every Wicket class the guide explains, and every page by title.

Classes

Interfaces are sorted without their leading I, so IModel is under M.

A

AbstractAesGcmCryptScheme
Encryption in Wicket
AbstractAjaxTimerBehavior
Write Ajax handlers as lambdasAjax behaviors
AbstractAuthenticatedWebSession
Log users in
AbstractChoice
Translate the options of a choice
AbstractCryptFactory
Encryption in Wicket
AbstractCspHeaderItem
Header items
AbstractDefaultAjaxBehavior
Change how an Ajax request is sentWrap a JavaScript widget in a componentAjax behaviorsHow Wicket Ajax works
AbstractErrorPage
Handle exceptions and show error pages
AbstractFormValidator
Validators and converters
AbstractLink
Link to a page
AbstractPropertyModel
Model classes
AbstractRepeater
Repeaters
AbstractResource
Generate a resource in codeHow Wicket serves resources
AbstractSingleSelectChoice
Translate the options of a choice
AbstractVeilBehavior
Block the page while a request runs
AccessDeniedPage
Handle exceptions and show error pages
AesGcmCryptScheme
Encryption in Wicket
AesGcmSivCryptScheme
Encryption in Wicket
AjaxButton
Update a page with AjaxAjax componentsForm components
AjaxCallListener
React to Ajax requests in JavaScriptAjax behaviors
AjaxChannel
Change how an Ajax request is sent
AjaxCheckBox
Ajax components
AjaxClientInfoBehavior
Ajax behaviors
AjaxDisableComponentListener
Show that a request is runningAjax behaviors
AjaxDownloadBehavior
Ajax behaviors
AjaxEditableLabel
Ajax components
AjaxEventBehavior
Write Ajax handlers as lambdasAjax behaviors
AjaxFallbackButton
Ajax componentsForm components
AjaxFallbackDefaultDataTable
Page through dataAjax componentsRepeaters
AjaxFallbackLink
Use Ajax on stateless pagesAjax components
AjaxFileDropBehavior
Ajax behaviors
AjaxFormChoiceComponentUpdatingBehavior
Ajax behaviors
AjaxFormComponentUpdatingBehavior
Write Ajax handlers as lambdasCombine fields into one form componentUse Ajax on stateless pagesAjax behaviors
AjaxFormSubmitBehavior
Write Ajax handlers as lambdasAjax behaviors
AjaxFormValidatingBehavior
Ajax behaviors
AjaxIndicatorAppender
Show that a request is runningAjax behaviors
AjaxLazyLoadPanel
Ajax components
AjaxLink
Update a page with AjaxUpdate components with AjaxAjax components
AjaxListPanel
Ajax components
AjaxNewWindowNotifyingBehavior
Ajax behaviors
AjaxPagingNavigator
Page through dataAjax componentsRepeaters
AjaxRequestAttributes
React to Ajax requests in JavaScriptChange how an Ajax request is sentHow Wicket Ajax works
AjaxRequestHandler
How Wicket Ajax works
AjaxRequestTarget
Update a page with AjaxUpdate components with AjaxGlossaryHow Wicket Ajax works
AjaxRequestTarget.IListener
Change how an Ajax request is sent
AjaxSelfUpdatingTimerBehavior
Update a page with AjaxAjax behaviors
AjaxSubmitLink
Use Ajax on stateless pagesAjax componentsForm components
AjaxTabbedPanel
Ajax components
AnnotationsRoleAuthorizationStrategy
Restrict access by role
Application
Switch between development and deployment modeConfigure a module with an initializerShare a resource across the applicationApplication settingsGlossaryRequest processing
ApplicationContextMock
Test with Spring
ApplicationKeyCryptFactory
Encrypt URLsEncryption in Wicket
ApplicationMBean
Inspect and change settings with JMX
ApplicationSettings
Handle exceptions and show error pagesApplication settings
ApplicationSettingsMBean
Inspect and change settings with JMX
AsynchronousPageStore
How pages are stored
AttributeAppender
Change a tag's attributes
AttributeModifier
Change a tag's attributes
Audio
Serve files from your Java packages
AuthenticatedWebApplication
Log users inWicket modules
AuthenticatedWebSession
Log users in
AuthorizeAction
Restrict access by role
AuthorizeActions
Restrict access by role
AuthorizeInstantiation
Restrict access by role
AuthorizeInstantiations
Restrict access by role
AuthorizeResource
Restrict access by role
AutoCompleteBehavior
Ajax behaviors
AutoCompleteTextField
Ajax components
AutoLabelResolver
Wicket tags and attributes
AutoLabelTextResolver
Wicket tags and attributes
AutoLinkResolver
Turn plain links into page links with wicket:linkWicket tags and attributes
IAjaxCallListener
React to Ajax requests in JavaScript
IAjaxIndicatorAware
Show that a request is running
IAuthorizationStrategy
Restrict access by roleHow Wicket keeps applications secure

B

BaseWebSocketBehavior
WebSocket JavaScript API
BaseWicketTester
Test pages and componentsWicketTester
BeanValidationConfiguration
Validate with Bean Validation
Behavior
Add behavior to a component with a BehaviorChange a tag's attributesUse more than one model in a componentHandle a callback URL with IRequestListenerComponent lifecycleGlossary
BookmarkableMapper
Request mappers
BookmarkablePageLink
Give every page the same layoutLink to a pageKeep a page statelessUse links on stateless pages
Border
Wrap content with a BorderGlossaryWicket tags and attributes
BorderBehavior
Wrap content with a Border
Broadcast
Send events between components
BufferedResponseMapper
Request mappersRedirects after a request
BundleStringResourceLoader
Load texts from your own source
Button
Use more than one submit buttonForm components
ByteArrayResource
Generate a resource in code

C

CachingPageStore
How pages are stored
CachingResourceStreamLocator
Customize where resources are loaded from
CallbackParameter
Wrap a JavaScript widget in a component
CdiConfiguration
Inject CDI beansInject with JSR-330 annotations
ChainingModel
Chain modelsModel classes
Check
Use checkboxes and radio buttonsForm components
CheckBox
Use checkboxes and radio buttonsForm components
CheckBoxMultipleChoice
Use checkboxes and radio buttonsTranslate the options of a choiceForm components
CheckboxMultipleChoiceSelector
Use checkboxes and radio buttons
CheckBoxSelector
Use checkboxes and radio buttons
CheckGroup
Use checkboxes and radio buttonsForm components
CheckGroupSelector
Use checkboxes and radio buttons
ChoiceRenderer
Let the user pick from a list
ClassAttributeModifier
Change a tag's attributes
ClassPathResourceFinder
Customize where resources are loaded from
ClassStringResourceLoader
Where Wicket looks for texts
CollectionModel
Model classes
Component
Translate component textsGive a component a markup idUse more than one model in a componentRender a component without its tagHandle a callback URL with IRequestListenerShow, hide or disable a componentComponent lifecycleGlossaryHow Wicket localizesBest practicesHow Wicket keeps applications secureWhy component-oriented
ComponentDetachableModel
Model classes
ComponentModel
Model classes
ComponentPropertyModel
Model classes
ComponentRenderer
Test markup
ComponentResolvers
How markup becomes components
ComponentStringResourceLoader
Where Wicket looks for texts
ComponentTag
Add behavior to a component with a Behavior
CompositeCssCompressor
Minify and compress CSS and JavaScript
CompositeJavaScriptCompressor
Minify and compress CSS and JavaScript
CompoundPropertyModel
Chain modelsShow images from an external URLBind components to a JavaBeanGlossaryModel classes
CompoundRequestMapper
Request mappers
CompoundValidator
Validators and converters
ConcatResourceBundleReference
Combine resources into one bundle
ConnectedMessage
Push updates over a WebSocket
ContentDisposition
Generate a resource in code
ContentSecurityPolicySettings
Configure the Content Security PolicyApplication settingsSecurity headers and external checksHow Wicket keeps applications secure
ContextImage
Use files from the web application root
ContextRelativeResource
Use files from the web application root
ContextRelativeResourceReference
Use files from the web application root
ConversationalComponent
Inject CDI beans
ConversationPropagation
Inject CDI beans
ConversionException
Convert input to your types
ConverterLocator
Convert input to your typesValidators and converters
CreditCardValidator
Validators and converters
CrossOrigin
Show images from an external URL
CrossOriginEmbedderPolicyConfiguration
Isolate the page with COOP and COEP
CrossOriginEmbedderPolicyRequestCycleListener
Isolate the page with COOP and COEP
CrossOriginOpenerPolicyConfiguration
Isolate the page with COOP and COEP
CrossOriginOpenerPolicyRequestCycleListener
Isolate the page with COOP and COEP
CryptingPageStore
Configure the page storeEncryption in WicketHow pages are stored
CryptoMapper
Protect against cross-site request forgeryEncrypt URLsEncryption in WicketRequest mappersHow Wicket keeps applications secure
CSPDirective
Configure the Content Security Policy
CSPDirectiveSrcValue
Configure the Content Security Policy
CSPHeaderConfiguration
Configure the Content Security Policy
CssContentHeaderItem
Header items
CssHeaderItem
Add CSS and JavaScript to a pageUse files from the web application rootHeader items
CssReferenceHeaderItem
Header items
CssResourceReference
Add CSS and JavaScript to a pageCombine resources into one bundle
CssUrlReferenceHeaderItem
Header items
CssUrlReplacer
Minify and compress CSS and JavaScript
IChoiceRenderer
Let the user pick from a list
IColumn
Repeaters
IComponentAssignedModel
Model classes
IComponentAwareHeaderContributor
React to Ajax requests in JavaScript
IComponentInheritedModel
Bind components to a JavaBeanModel classes
IComponentInitializationListener
Component lifecycle
IComponentInstantiationListener
Component lifecycleBest practices
IComponentOnAfterRenderListener
Component lifecycle
IComponentOnBeforeRenderListener
Component lifecycle
IComponentOnConfigureListener
Component lifecycle
IComponentResolver
How markup becomes components
IConverter
Convert input to your typesGlossaryValidators and convertersHow a form is processed
IConverterLocator
Convert input to your types
ICrypt
Encryption in Wicket
ICryptFactory
Encrypt URLsEncryption in Wicket
ICryptScheme
Encryption in Wicket
ICssCompressor
Minify and compress CSS and JavaScript

D

DataGridView
Repeaters
DataTable
Repeaters
DataView
Page through dataRepeaters
DateTextField
Form components
DateValidator
Validators and converters
DebugBar
Configure the page storeWicket modules
DebugSettings
Application settings
DebugSettingsMBean
Inspect and change settings with JMX
DefaultDataTable
Page through dataRepeaters
DefaultExceptionMapper
Handle exceptions and show error pages
DefaultItemReuseStrategy
Control how items are reused with RefreshingView
DefaultJavaScriptCompressor
Minify and compress CSS and JavaScript
DefaultMapperContext
Give pages readable URLsRequest mappers
DefaultMarkupIdGenerator
Give a component a markup id
DefaultPageManagerProvider
Configure the page storeHow pages are stored
DiskPageStore
How pages are stored
DropDownChoice
Let the user pick from a listTranslate the options of a choiceForm components
DynamicImageResource
Generate a resource in code
IDataProvider
Page through dataRepeaters
IDetachable
Load data once per request with detachable modelsUse more than one model in a componentModel classesModels and component data

E

EmailAddressValidator
Validators and converters
EmailTextField
Form components
Enclosure
Hide surrounding markup with wicket:enclosureWicket tags and attributes
EnclosureContainer
Hide surrounding markup with wicket:enclosureWicket tags and attributes
EnumChoiceRenderer
Let the user pick from a listTranslate the options of a choice
EqualInputValidator
Validators and converters
EqualPasswordInputValidator
Validate input and show errorsValidators and converters
ExceptionErrorPage
Handle exceptions and show error pages
ExceptionSettings
Handle exceptions and show error pagesRender a component without its tagApplication settings
ExternalImage
Show images from an external URL
ExternalLink
Link to another site
ExternalSource
Show images from an external URL
IEvent
Send events between components
IEventDispatcher
Send events between components
IEventSink
Send events between components
IEventSource
Send events between components
IExceptionMapper
Handle exceptions and show error pagesRequest processing

F

FeedbackPanel
Build a form that saves dataValidate input and show errorsForm componentsGlossary
FetchMetadataResourceIsolationPolicy
Protect against cross-site request forgery
FilePageStore
Configure the page store
FilesSelectedBehavior
Ajax behaviors
FileSystemJarPathService
Serve files with NIO
FileSystemPathService
Serve files with NIO
FileSystemResource
Serve files with NIO
FileSystemResourceReference
Serve files with NIO
FileUpload
Upload files
FileUploadField
Upload filesForm components
FileUploadToResourceField
Ajax componentsForm components
FilteredHeaderItem
Put JavaScript at the end of the bodyHeader items
FilteringHeaderResponse
Put JavaScript at the end of the bodyHeader items
Form
Build a form that saves dataNest formsBuild a stateless formUpload filesForm componentsGlossaryHow a form is processed
FormComponent
Convert input to your typesCombine fields into one form componentValidate input and show errorsForm componentsHow a form is processed
FormComponentLabel
Form components
FormComponentPanel
Combine fields into one form componentForm components
FormComponentUpdatingBehavior
Chain models
FormTester
Test a page with WicketTesterTest formsWicketTester
Fragment
Swap markup with fragmentsGlossaryWicket tags and attributes
FrameworkSettings
Application settings
IFormSubmitter
Use more than one submit buttonHow a form is processed
IFormSubmittingComponent
Use more than one submit button
IFormValidator
Validators and convertersHow a form is processed

G

GenericBaseModel
Model classes
GenericPanel
Build a reusable panelModel classes
GenericWebPage
Model classes
GridView
Repeaters
GroupedDropDownChoice
Let the user pick from a listForm components
GuiceComponentInjector
Inject with JSR-330 annotations

H

HeaderItem
Declare dependencies between resourcesGlossaryHeader items
HeaderResponseContainer
Put JavaScript at the end of the body
HeaderResponseDecoratorCollection
Put JavaScript at the end of the bodyHeader items
HiddenField
Form components
HomePageMapper
Request mappers
HtmlHeaderResolver
Wicket tags and attributes
HtmlImportHeaderItem
Header items
HttpsConfig
Require HTTPS
HttpsMapper
Require HTTPSRequest mappers
IHeaderContributor
Add CSS and JavaScript to a pageHeader items
IHeaderResponse
Add behavior to a component with a BehaviorAdd CSS and JavaScript to a pageHeader itemsHow Wicket serves resources
IHeaderResponseDecorator
Put JavaScript at the end of the body

I

IInitializer
Configure a module with an initializer
IItemReuseStrategy
Control how items are reused with RefreshingViewRepeaters
Image
Serve files from your Java packages
ImageButton
Form components
IndicatingAjaxButton
Show that a request is runningWrite Ajax handlers as lambdasAjax components
IndicatingAjaxFallbackLink
Show that a request is running
IndicatingAjaxLink
Show that a request is runningAjax components
InitializerStringResourceLoader
Where Wicket looks for texts
Injector
Inject Spring beans
InlineEnclosure
Hide surrounding markup with wicket:enclosureWicket tags and attributes
InlineImage
Serve files from your Java packages
InMemoryPageStore
Configure the page store
InSessionPageStore
Configure the page storeHow pages are stored
InternalErrorPage
Handle exceptions and show error pages
Item
Control how items are reused with RefreshingView

J

IJavaScriptCompressor
Minify and compress CSS and JavaScript
JavaEEComponentInjector
Inject EJBs
JavaScriptBrowserProcessedContentType
Header items
JavaScriptContentHeaderItem
Header items
JavaScriptDataBlockType
Header items
JavaScriptDeferHeaderResponse
Header items
JavaScriptFilteredIntoFooterHeaderResponse
Put JavaScript at the end of the bodyHeader items
JavaScriptHeaderItem
Add CSS and JavaScript to a pageUse files from the web application rootHeader items
JavaScriptLibrarySettings
Run Ajax without jQueryWrap a JavaScript widget in a componentDeclare dependencies between resourcesApplication settings
JavaScriptReferenceHeaderItem
Header items
JavaScriptReferenceType
Header items
JavaScriptResourceReference
Add CSS and JavaScript to a pageWrap a JavaScript widget in a componentCombine resources into one bundle
JavaScriptUrlReferenceHeaderItem
Header items
JavaxWebSocketFilter
Push updates over a WebSocketHow native WebSockets work
JQueryPluginResourceReference
Declare dependencies between resources
JQueryResourceReference
Declare dependencies between resources

K

KeyInSessionCryptFactory
Encrypt URLsEncryption in Wicket

L

Label
Build your first application
LambdaChoiceRenderer
Let the user pick from a list
LambdaColumn
Page through data
LambdaModel
Build a form that saves dataChain modelsRead and write data with lambda modelsGlossaryModel classes
Link
Build your first applicationLink to a page
ListChoice
Select several valuesForm components
ListDataProvider
Page through data
ListenerRequestHandler
Handle a callback URL with IRequestListener
ListItem
Show a list with ListView
ListModel
Model classes
ListMultipleChoice
Select several valuesForm components
ListView
Build a form that saves dataShow a list with ListViewGlossaryRepeaters
LoadableDetachableModel
Load data once per request with detachable modelsUse more than one model in a componentGlossaryModel classesModels and component dataBest practices
LocalDateTextField
Form components
LocalDateTimeField
Form components
LocalDateTimeTextField
Form components
Localizer
Load texts from your own sourceWhere Wicket looks for textsHow Wicket localizes
LocalTimeTextField
Form components
LocalVeilBehavior
Block the page while a request runs
Loop
Show a list with ListViewRepeaters

M

IMapperContext
Give pages readable URLsRequest mappers
IMarkupCacheKeyProvider
Generate markup from code
IMarkupFilter
How markup becomes components
IMarkupIdGenerator
Give a component a markup id
IMarkupResourceStreamProvider
Generate markup from code
IModel
Read and write data with lambda modelsGlossaryModel classesModels and component dataBest practices
IModelComparator
Model classes
MapModel
Model classes
MarkupCache
How markup becomes components
MarkupContainer
Add components without repeating the markup hierarchyComponent lifecycleMarkup inheritanceWhy component-oriented
MarkupFactory
Generate markup from codeHow markup becomes components
MarkupParser
How markup becomes components
MarkupSettings
Give a component a markup idTurn plain links into page links with wicket:linkApplication settingsWicket tags and attributes
MarkupSettingsMBean
Inspect and change settings with JMX
MaskConverter
Validators and converters
MetaDataHeaderItem
Header items
MetaDataKey
Keep data in the session
MetaDataRoleAuthorizationStrategy
Restrict access by role
MockHttpServletResponse
Test pages and components
ModalDialog
Ajax components
Model
Model classesModels and component data
ModelIteratorAdapter
Control how items are reused with RefreshingView
MountedMapper
Give pages readable URLsRequest mappers
MultiFileUploadField
Upload filesForm components

N

NestedStringResourceLoader
Load texts from your own source
NestedTree
Ajax componentsRepeaters
NoCrypt
Encryption in Wicket
NoCryptFactory
Encryption in Wicket
NonContextual
Inject CDI beans
NoOpTextCompressor
Minify and compress CSS and JavaScript
NumberTextField
Form components

O

IObjectClassAwareModel
Model classes
IOnComponentTagListener
Component lifecycle
OnChangeAjaxBehavior
Write Ajax handlers as lambdasAjax behaviors
OnDomReadyHeaderItem
Add CSS and JavaScript to a pageWrap a JavaScript widget in a componentHeader items
OnEventHeaderItem
Configure the Content Security PolicyHeader items
OnLoadHeaderItem
Header items
OriginResourceIsolationPolicy
Protect against cross-site request forgery

P

IPackageResourceGuard
Control which package resources are served
IPageable
Repeaters
IPageFactory
How pages are stored
IPageManager
How pages are stored
IPageParametersEncoder
Request mappers
IPageProvider
How pages are stored
IPageStore
How pages are stored
IPartialPageRequestHandler
Update components with AjaxHow Wicket Ajax works
IPropertyReflectionAwareModel
Model classes
PackageMapper
Give pages readable URLsRequest mappers
PackageResourceGuard
Control which package resources are served
PackageResourceReference
Serve files from your Java packagesHow Wicket serves resources
PackageStringResourceLoader
Load texts from your own sourceWhere Wicket looks for texts
Page
Keep a page statelessGlossaryStateful and stateless pages
PageableListView
Repeaters
PageExpiredErrorPage
Handle exceptions and show error pages
PageExpiredException
Stateful and stateless pages
PageHeaderItem
Control the order of header itemsHeader items
PageIdKey
Test WebSocket behaviors
PageInstanceMapper
Request mappers
PageParameters
Give a resource a URLPass parameters to a pageGlossary
PageParametersEncoder
Request mappers
PageReference
Stateful and stateless pages
PageSettings
Application settingsHow markup becomes componentsStateful and stateless pages
PageVeilBehavior
Block the page while a request runs
PagingNavigator
Page through dataRepeaters
Palette
Select several valuesForm components
Panel
Give every page the same layoutBuild a reusable panelGlossaryWicket tags and attributesBest practicesMarkup inheritance
PasswordTextField
Form components
Path
Customize where resources are loaded from
PatternValidator
Validators and converters
Picture
Show images from an external URLServe files from your Java packages
PriorityFirstComparator
Control the order of header items
PriorityHeaderItem
Control the order of header itemsHeader items
PropertiesFactory
Where Wicket looks for texts
Property
Validate with Bean Validation
PropertyListView
Show a list with ListViewRepeaters
PropertyModel
Bind components to a JavaBeanModel classes
PropertyValidator
Validate with Bean Validation

Q

IQueueRegion
Add components without repeating the markup hierarchy

R

IRequestCycleListener
Handle exceptions and show error pagesRequest processingSecurity headers and external checksBest practicesWhat happens during a request
IRequestCycleProvider
Request processing
IRequestHandler
Request processingWhat happens during a request
IRequestListener
Handle a callback URL with IRequestListener
IRequestMapper
GlossaryRequest mappersRequest processingWhat happens during a request
IResource
Generate a resource in codeGlossaryHow Wicket serves resources
IResourceFinder
Customize where resources are loaded from
IResourceIsolationPolicy
Protect against cross-site request forgery
IResourceStreamLocator
Customize where resources are loaded from
Radio
Use checkboxes and radio buttonsForm components
RadioChoice
Use checkboxes and radio buttonsTranslate the options of a choiceForm components
RadioGroup
Use checkboxes and radio buttonsForm components
RangeTextField
Form components
RangeValidator
Validators and converters
RedirectPolicy
Redirects after a request
RedirectToUrlException
Link to another site
RefreshingView
Control how items are reused with RefreshingViewRepeaters
RenderStrategy
Redirects after a request
RepeatingView
Repeat markup with RepeatingViewRepeaters
ReportCSPViolationMapper
Configure the Content Security Policy
Request
Request processing
RequestCycle
GlossaryRequest processingWhat happens during a request
RequestCycleSettings
Application settingsRedirects after a request
RequestLoggerMBean
Inspect and change settings with JMX
RequestLoggerSettings
Application settings
RequestPageStore
How pages are stored
RequiredTextField
Form components
RequireHttps
Require HTTPS
ResourceAggregator
Header itemsHow Wicket serves resources
ResourceBundles
Combine resources into one bundle
ResourceIsolationRequestCycleListener
Protect against cross-site request forgeryHow Wicket keeps applications secure
ResourceLink
Generate a resource in codeGive a resource a URLShare a resource across the application
ResourceMapper
Give a resource a URLRequest mappers
ResourceModel
Translate component textsPut model values into translated textsModel classes
ResourceReference
Generate a resource in codeGive a resource a URLDeclare dependencies between resourcesGlossaryHow Wicket serves resources
ResourceReferenceMapper
Request mappers
ResourceReferenceRegistry
How Wicket serves resources
ResourceResponse
Generate a resource in code
ResourceSettings
Minify and compress CSS and JavaScriptLoad texts from your own sourceControl the order of header itemsControl which package resources are servedCustomize where resources are loaded fromWhere Wicket looks for textsApplication settings
ResourceStreamLocator
Customize where resources are loaded from
Response
Request processing
RestartResponseAtInterceptPageException
Log users in
Result
WicketTester
ReuseIfModelsEqualStrategy
Control how items are reused with RefreshingView
RoleAuthorizationStrategy
Restrict access by role
Roles
Restrict access by role
RuntimeConfigurationType
Switch between development and deployment modeApplication settings

S

ISerializer
How pages are stored
ISessionListener
Keep data in the session
ISortableDataProvider
Repeaters
IStringResourceLoader
Load texts from your own sourceWhere Wicket looks for textsHow Wicket localizes
Scheme
Require HTTPS
SchemeCrypt
Encryption in Wicket
SecurePackageResourceGuard
Control which package resources are served
SecuritySettings
Configure the page storeIsolate the page with COOP and COEPEncrypt URLsApplication settingsEncryption in WicketSecurity headers and external checks
Select
Select several valuesForm components
SelectOptions
Select several valuesForm components
SerializingPageStore
How pages are stored
ServletWebRequest
Request processing
ServletWebResponse
Request processing
Session
Translate component textsKeep data in the sessionGlossaryRequest processingHow Wicket localizes
SessionCountListener
Measure with Wicket metrics
SetModel
Model classes
SharedResourceReference
Share a resource across the application
SharedResources
Share a resource across the application
SortableDataProvider
Page through data
Source
Serve files from your Java packages
SpringBean
Inject Spring beansTest with Spring
SpringComponentInjector
Inject with JSR-330 annotationsInject Spring beansTest with SpringWicket modules
SpringWebApplicationFactory
Inject Spring beans
StatelessChecker
Keep a page stateless
StatelessComponent
Keep a page stateless
StatelessForm
Keep a page statelessUse Ajax on stateless pagesBuild a stateless formForm components
StatelessLink
Keep a page statelessUse links on stateless pages
StoreSettings
Configure the page storeApplication settings
StringHeaderItem
Header items
StringResourceModel
Put model values into translated textsModel classes
StringResourceStream
Generate markup from code
StringValidator
Build a form that saves dataValidate input and show errorsValidators and converters
StringValue
Pass parameters to a page
StyleAttributeModifier
Change a tag's attributes
SubmitLink
Use more than one submit buttonForm components
SubresourceHeaderResponse
Header items
SystemMapper
Request mappers

T

TableTree
Ajax componentsRepeaters
TagTester
Test markupWicketTester
TextArea
Build a form that saves dataForm components
TextField
Build a form that saves dataForm components
TextRequestHandler
Handle a callback URL with IRequestListener
ThrottlingSettings
Change how an Ajax request is sent
TimeField
Form components
TransparentWebMarkupContainer
Group components with WebMarkupContainer

U

UploadProgressBar
Upload filesAjax componentsForm components
UrlPathPageParametersEncoder
Give pages readable URLsRequest mappers
UrlResourceReference
Declare dependencies between resources
UrlTextField
Form components
UrlValidator
Validators and converters
UsernamePasswordPage
Log users in
UsernamePasswordPanel
Log users in

V

IValidator
Validate input and show errorsGlossaryValidators and convertersHow a form is processed
ValidationError
Validate input and show errorsValidators and converters
ValidatorStringResourceLoader
Where Wicket looks for texts
VelocityPanel
Wicket modules
Video
Serve files with NIOServe files from your Java packages

W

IWebSocketConnectionRegistry
How native WebSockets work
IWebSocketPushMessage
Test WebSocket behaviorsPush updates over a WebSocketHow native WebSockets work
IWrapModel
Model classes
WebApplication
Build your first applicationCreate a project from the quickstart archetypeSwitch between development and deployment modeGive pages readable URLsGive a resource a URLCombine resources into one bundleApplication settingsRequest mappersRequest processing
WebApplicationPath
Customize where resources are loaded from
WebMarkupContainer
Update a page with AjaxGroup components with WebMarkupContainerRepeat markup with RepeatingViewShow, hide or disable a component
WebPage
Build your first applicationGive every page the same layoutSecurity headers and external checksMarkup inheritanceWhy component-oriented
WebPageRenderer
Redirects after a request
WebRequest
Request processing
WebResponse
Request processingSecurity headers and external checks
WebSession
Keep data in the sessionBest practices
WebSocketAwareResourceIsolationRequestCycleListener
Protect against cross-site request forgery
WebSocketBehavior
Push updates over a WebSocketWicket modulesWebSocket JavaScript APIHow native WebSockets work
WebSocketConnectionOriginFilter
Protect against cross-site request forgery
WebSocketPushBroadcaster
Push updates over a WebSocketHow native WebSockets work
WebSocketPushPayload
Push updates over a WebSocket
WebSocketRequestHandler
Push updates over a WebSocketHow native WebSockets work
WebSocketResource
Push updates over a WebSocketHow native WebSockets work
WebSocketSettings
Push updates over a WebSocketWebSocket JavaScript API
WebSocketTester
Test WebSocket behaviors
WicketAjaxJQueryResourceReference
Run Ajax without jQuery
WicketAjaxResourceReference
Run Ajax without jQuery
WicketContainerResolver
Wicket tags and attributes
WicketFilter
Create a project from the quickstart archetypeApplication settingsRequest processingWhat happens during a request
WicketLinkTagHandler
Turn plain links into page links with wicket:link
WicketMessageResolver
Wicket tags and attributes
WicketMetrics
Measure with Wicket metrics
WicketMetricsSettings
Measure with Wicket metrics
WicketServlet
Application settings
WicketTagIdentifier
How markup becomes components
WicketTestCase
WicketTester
WicketTester
Test a page with WicketTesterCreate a project from the quickstart archetypeTest formsTest markupTest pages and componentsTest WebSocket behaviorsTest with SpringGlossaryMaven dependenciesWicket modulesWicketTester
WicketTesterExtension
WicketTester
WicketWebSocketJQueryResourceReference
WebSocket JavaScript API
WriteCallback
Generate a resource in code

X

XForwardedRequestWrapperFactory
Require HTTPS

Z

ZonedDateTimeField
Form components

Pages

  • Add behavior to a component with a Behavior How-to Write a Behavior that changes a component's tag, adds markup around it or contributes CSS and JavaScript, and reuse it on any kind of component.
  • Add components without repeating the markup hierarchy How-to Queue components on a page or panel and let Wicket put each one in the right container by following the nesting in the markup.
  • Add CSS and JavaScript to a page How-to Let a component or behavior add its stylesheets, script files and start-up code to the page header with renderHead and header items.
  • Ajax behaviors Reference The Ajax behaviors and call listeners in wicket-core and wicket-extensions, the callback each one calls and its lambda factory method.
  • Ajax components Reference The Ajax components in wicket-core and wicket-extensions, what each does and which callback you override.
  • Application settings Reference How a Wicket application is started and configured, the settings objects with their main options and defaults, and what development and deployment mode change.
  • Best practices Explanation The habits that keep a Wicket application easy to change and to test, each with the reason it follows from how Wicket works.
  • Bind components to a JavaBean How-to Read and write bean properties with PropertyModel, and let form fields find their property by id with CompoundPropertyModel.
  • Block the page while a request runs How-toWicket 11+ Cover the page or one component with a veil during Ajax requests, so a second click cannot send the same request twice.
  • Build a form that saves data Tutorial Add a guestbook page with a form that validates its input, saves entries and lists them, and shows errors and a confirmation.
  • Build a reusable panel How-to Package a piece of user interface as a Panel, a Java class with its own HTML file, and use it on any page as often as you need.
  • Build a stateless form How-to Use StatelessForm so a page with a form stays stateless, never expires and does not create a session until it must.
  • Build your first application Tutorial Generate a project from the quickstart, run it, and build a home page with a label, a click counter and a link to a second page.
  • Chain models How-to Wrap one model in another so that a form, a panel or a label always works on the object the inner model currently holds.
  • Change a tag's attributes How-to Set, append to or remove an attribute of a component's tag from Java, with a fixed value or one that follows a model.
  • Change how an Ajax request is sent How-to Override updateAjaxAttributes to throttle requests, send them as POST, pass extra parameters, drop outdated ones or stop the browser's default action.
  • Combine fields into one form component How-to Build a FormComponentPanel that shows several inputs but converts, validates and stores them as one value.
  • Combine resources into one bundle How-to Serve several package stylesheets or scripts as one file with ResourceBundles, and replace a resource throughout the application with addResourceReplacement.
  • Component lifecycle Reference The stages a component goes through and every hook method Wicket calls on it, in order, with who calls it and when.
  • Configure a module with an initializer How-to Let a jar configure every Wicket application it is added to, with an IInitializer registered through the Java ServiceLoader.
  • Configure the Content Security Policy How-to Work with the strict Content Security Policy Wicket sends by default, allow extra sources, report violations, and move inline scripts and styles out of the markup.
  • Configure the page store How-to Change how much page history Wicket keeps per session and where, encrypt stored pages, or replace the disk store with another store.
  • Control how items are reused with RefreshingView How-to Build repeater items from models you supply, and keep an item's components across renders as long as its model stays in the list.
  • Control the order of header items How-to Put a header item first with PriorityHeaderItem, let the page's own items come before those of its components, and fix where Wicket inserts items with wicket:header-items.
  • Control which package resources are served How-to Allow or block files on the classpath that browsers may request as package resources, with patterns on SecurePackageResourceGuard.
  • Convert input to your types How-to Tell a field which type its input becomes, write a converter for your own type and register it for one field or the whole application.
  • Create a project from the quickstart archetype How-to Generate a ready-to-run Wicket project with Maven, know what is in it, and open it in your IDE.
  • Customize where resources are loaded from How-to Make Wicket find markup, properties and package files in a folder of the web application or the file system by adding resource finders.
  • Declare dependencies between resources How-to Make a script or stylesheet pull in the libraries it needs by overriding getDependencies, so Wicket always renders them first and only once.
  • Encrypt URLs How-toWicket 11+ Hide class names and component paths behind encrypted URLs with CryptoMapper, and choose where the key lives so that stateless pages keep working.
  • Encryption in Wicket ReferenceWicket 11+ The crypt API behind encrypted URLs, the encrypted page store and upload tokens; its schemes, key factories, settings and ciphertext format.
  • Form components Reference Every form, input, choice, upload and submit component in wicket-core and wicket-extensions, with the markup tag it needs and the type of its model.
  • Generate a resource in code How-to Build files on request, such as a CSV export, a PDF or an image, by extending AbstractResource or writing a lambda, and offer them for download with ResourceLink.
  • Generate markup from code How-to Give a panel or page markup built in Java instead of an HTML file, and control whether Wicket caches it.
  • Give a component a markup id How-to Render the HTML id attribute of a component so JavaScript, CSS, labels and Ajax can find it, and choose or generate the id yourself.
  • Give a resource a URL How-to Mount a resource reference on a path of your choice with mountResource, read path and query parameters in the resource, and link to the mounted URL.
  • Give every page the same layout Tutorial Move the header, navigation and footer of your application into a base page and two panels, so every page shares one layout.
  • Give pages readable URLs How-to Mount pages on paths of your choice, put page parameters in path segments with placeholders, and mount a whole package at once.
  • Glossary Reference Plain-English definitions of the Wicket terms used in this guide, each compared with what other web frameworks call it.
  • Group components with WebMarkupContainer How-to Attach a plain HTML element to a container component so you can hide, disable, style or repaint a group of components as one.
  • Handle a callback URL with IRequestListener How-to Let a component or behavior answer requests to a URL of its own, read parameters from the request, and respond with the page or anything else.
  • Handle exceptions and show error pages How-to Replace Wicket's error pages, choose what users see after an unexpected exception, and map your own exceptions and HTTP errors to pages.
  • Header items Reference Every header item type with its factory methods, the tag it renders and where it ends up, the rendering order, Ajax behaviour and the header response decorators.
  • Hide surrounding markup with wicket:enclosure How-to Hide a caption, label or table row together with the component it describes, without a container component in Java.
  • How a form is processed Explanation The order in which Wicket checks, converts, validates and stores submitted input, and why a form updates all its models or none.
  • How markup becomes components Explanation How Wicket loads, parses and caches markup, and how Wicket tags turn into auto components that you never add yourself.
  • How native WebSockets work Explanation How Wicket connects a page to a WebSocket, routes messages to components, pushes updates from other threads, and what that means for sessions and locking.
  • How pages are stored Explanation How Wicket finds the page for a request, and the chain of stores that keeps stateful pages in the request, the session and on disk.
  • How Wicket Ajax works Explanation What happens between a click in the browser and the updated components on the page, and why components need a markup id.
  • How Wicket keeps applications secure Explanation What Wicket defends against by default (escaping, a strict CSP, stateful URLs and encryption) and what it leaves to your application and your deployment.
  • How Wicket localizes Explanation Where the locale of a page comes from, why texts live in properties files next to the components that use them, and why the page can override its panels.
  • How Wicket serves resources Explanation What resources and resource references are, why components carry their own CSS and JavaScript, and how Wicket gives every file a cacheable URL.
  • Inject CDI beans How-to Configure wicket-cdi so pages, components, behaviors and the session get CDI beans with @Inject, and choose beans that survive serialization.
  • Inject EJBs How-to Inject session beans, JNDI resources and persistence units into Wicket components with @EJB, @Resource and @PersistenceUnit, through WicketStuff's javaee-inject module.
  • Inject Spring beans How-to Inject beans from a Spring application context into pages, components, behaviors and other objects with @SpringBean.
  • Inject with JSR-330 annotations How-to Use the standard @Inject and @Named annotations instead of @SpringBean, with the Spring, Guice and CDI integrations.
  • Inspect and change settings with JMX How-to Add wicket-jmx to see a running application's settings and session counts in JConsole, clear the markup cache, and change some settings without a restart.
  • Isolate the page with COOP and COEP How-to Set the Cross-Origin-Opener-Policy and Cross-Origin-Embedder-Policy headers, which Wicket sends by default, to isolate your pages from other origins.
  • Keep a page stateless How-to Build a page that Wicket does not store in the session, find the component that makes it stateful, and guard it with a test.
  • Keep data in the session How-to Store per-user data in a typed Wicket session, in session attributes or as metadata, control when the session is created, and end it on logout.
  • Keep preview markup out of the output How-to Leave sample content in your HTML files so they look complete in a browser or design tool, and make sure Wicket never sends it.
  • Let the user pick from a list How-to Show a drop-down list with DropDownChoice, render objects and enums as options, and control the empty "Choose One" option.
  • Link to a page How-to Navigate to another page with a Link that runs code on the server first, or with a BookmarkablePageLink that points straight at the page.
  • Link to another site How-to Render a link to a URL outside your application with ExternalLink, build the URL from a model, and redirect to another site from code.
  • Load data once per request with detachable models How-to Keep only an id in the page and load the entity fresh in every request with LoadableDetachableModel.
  • Load texts from your own source How-to Add a string resource loader that reads texts from a database or an existing Java ResourceBundle, and change the chain of loaders Wicket searches.
  • Log users in How-to Add a sign-in page with wicket-auth-roles, send anonymous users there when a page needs a signed-in user, and sign them out again.
  • Markup inheritance Explanation How a page or panel subclass inherits its parent's HTML along with its Java code, how wicket:child and wicket:extend merge the two, and when panels are the better tool.
  • Maven dependencies Reference The Maven dependencies, versions, scopes and build settings a Wicket project needs, for Wicket 10 and Wicket 11.
  • Measure with Wicket metrics How-to Count requests and time component creation, rendering and model loading with the experimental wicket-metrics module, AspectJ and Dropwizard Metrics.
  • Minify and compress CSS and JavaScript How-to Serve pre-minified .min files, strip JavaScript in deployment mode, plug in your own CSS or JavaScript compressor, and rewrite URLs inside stylesheets with CssUrlReplacer.
  • Model classes Reference Every model class and model interface in wicket-core, the default methods of IModel, the factory methods and the component methods that work with models.
  • Models and component data Explanation Why a component reads its data through a model, what happens to that data between requests, and why wrapping an entity in Model goes wrong.
  • Nest forms How-to Put a form inside another form, submit and validate the inner form on its own, and decide which forms take part in a submit.
  • Page through data How-to Load one page of rows at a time with an IDataProvider, show them in a DataView or DataTable, and let users move between pages.
  • Pass parameters to a page How-to Put values in the URL of a page with PageParameters, read them in the page constructor and convert them to the types you need.
  • Protect against cross-site request forgery How-to Refuse link clicks, form submits and Ajax calls that another site makes on behalf of your users, with ResourceIsolationRequestCycleListener.
  • Push updates over a WebSocket How-to Set up wicket-native-websocket, handle messages from the browser and push component updates to a page from a background thread.
  • Put JavaScript at the end of the body How-to Render all script header items in a container just before the closing body tag with JavaScriptFilteredIntoFooterHeaderResponse and HeaderResponseContainer.
  • Put model values into translated texts How-to Show translated texts through ResourceModel and StringResourceModel, fill in property values and MessageFormat parameters, and choose the key from the data.
  • React to Ajax requests in JavaScript How-to Run your own JavaScript before, during and after Ajax requests, for one component with a call listener or for the whole page with global events.
  • Read and write data with lambda models How-to Use lambdas, method references and the default methods of IModel to show computed values and bind components to properties without strings.
  • Redirects after a request Explanation Why Wicket answers a form submit or link click with a redirect, how the three render strategies differ, and what that means for stateless pages and clusters.
  • Render a component without its tag How-to Leave out a component's own HTML tag and render only its content, and know what stops working when you do.
  • Repeat markup with RepeatingView How-to Render a tag once for every child you add in code, for menus, button bars and other short lists you build in the constructor.
  • Repeaters Reference The repeaters of wicket-core and wicket-extensions compared, what each needs and when it re-creates items, plus data providers, navigators and table parts.
  • Request mappers Reference The request mappers that turn URLs into request handlers and back, the mount methods of WebApplication, and the syntax of mount paths.
  • Request processing Reference The objects that serve a request, the steps of RequestCycle in order, the request cycle listener hooks, and the request handlers Wicket ships.
  • Require HTTPS How-to Serve pages over HTTPS with HttpsMapper and @RequireHttps, and set up the container so redirects and absolute URLs use the right host.
  • Restrict access by role How-to Allow pages, components, actions and resources only for users with a given role, with annotations on classes and packages or in code.
  • Run Ajax without jQuery How-toWicket 11+ Switch the application to Wicket's plain JavaScript Ajax implementation, so pages no longer download jQuery.
  • Run on Apache Karaf How-to Install Wicket in Apache Karaf or another OSGi container with the Karaf feature that every Wicket release publishes.
  • Security headers and external checks Reference The response headers that scanners such as Mozilla Observatory check, which of them Wicket sends by default, and the Wicket API or hook that sets each one.
  • Select several values How-to Let the user select several values from a list with ListMultipleChoice, or move them between two lists with Palette.
  • Send events between components How-to Let a component notify others on the page without holding references to them, with send(), onEvent() and a payload class.
  • Serve files from your Java packages How-to Keep images, media and other files next to the component that uses them and serve them with PackageResourceReference, from Java or from markup.
  • Serve files with NIO How-to Serve files from the file system or from inside a ZIP archive through java.nio.file.Path with FileSystemResourceReference and FileSystemResource, including byte ranges for media.
  • Share a resource across the application How-to Register a resource once under an application-wide key with getSharedResources and refer to it from any component with SharedResourceReference.
  • Show a list with ListView How-to Render markup for every element of a java.util.List, keep form input in the rows, and avoid the pitfalls of index-based items.
  • Show images from an external URL How-to Render img and source tags whose URL comes from a model with ExternalImage and ExternalSource, for images on another server or a CDN.
  • Show that a request is running How-to Show a busy indicator while an Ajax request runs, with the indicating components, your own component or your own spinner element.
  • Show, hide or disable a component How-to Hide a component or make it read-only depending on the state of your application, and decide that state once per request in onConfigure.
  • Stateful and stateless pages Explanation Why Wicket keeps pages between requests, how page versions serve the back button, and what a stateless page gives up and gains.
  • Swap markup with fragments How-to Keep small alternative pieces of markup inside a page or panel and choose in Java which one to show, without a panel class for each.
  • Switch between development and deployment mode How-to Run Wicket in deployment mode on production servers, with a system property, a web.xml parameter or code, and check which mode is active.
  • Test a page with WicketTester Tutorial Write JUnit tests that render your pages, click links, submit the guestbook form and check Ajax updates, without a browser or a server.
  • Test forms How-to Fill in fields, pick options, upload files and submit a form in a unit test with FormTester, then check the feedback messages and the model.
  • Test markup How-to Find tags in the rendered output with TagTester and check their attributes and content, render a component to a string, or compare a page with an expected file.
  • Test pages and components How-to Render pages and single components in a unit test, click links, fire Ajax events and check what they render, with WicketTester and JUnit.
  • Test WebSocket behaviors How-to Send messages to a page's WebSocket behavior and check what it pushes back with WebSocketTester, without a servlet container.
  • Test with Spring How-to Test pages that use @SpringBean with WicketTester, either with mock beans in an ApplicationContextMock or against a real Spring test context.
  • Translate component texts How-to Move the texts of a page or panel into properties files, show them with wicket:message or from Java, and let the user switch the language.
  • Translate the options of a choice How-to Show translated options in a DropDownChoice, RadioChoice or other choice component, translate enum values, and change the "Choose One" text.
  • Turn plain links into page links with wicket:link How-to Write ordinary anchors to page files in the markup and let wicket:link turn them into links to bookmarkable pages, without Java code.
  • Update a page with Ajax Tutorial Make the click counter and the guestbook form update only the parts of the page that change, open the form without a reload, and refresh the guestbook every ten seconds.
  • Update components with Ajax How-to Re-render components, show hidden ones, refresh lists and run JavaScript in response to an Ajax request.
  • Upload files How-to Let users upload one or more files with FileUploadField, limit their size and number, and show upload progress.
  • Use Ajax on stateless pages How-to Make Ajax components and behaviors stateless with getStatelessHint, so a page such as a login page keeps working without a stored page instance.
  • Use checkboxes and radio buttons How-to Bind a checkbox to a boolean, let the user tick several options or pick one with radio buttons, and add a "select all" checkbox.
  • Use files from the web application root How-to Add stylesheets, scripts and images that live in the web application folder, such as src/main/webapp, to your pages with ContextRelativeResourceReference and ContextImage.
  • Use links on stateless pages How-to Handle clicks on a stateless page with StatelessLink and keep the state the click needs in page parameters, because every click builds a new page.
  • Use more than one model in a component How-to Detach the extra models a component, behavior or custom model keeps in its fields, so their data is not stored with the page.
  • Use more than one submit button How-to Give a form several buttons that each run their own code, pick the button for the Enter key, and add a Cancel button that skips validation.
  • Validate input and show errors How-to Make fields required, check their values with validators, show the error messages and change their text.
  • Validate with Bean Validation How-to Check form input against the Jakarta Bean Validation annotations on your domain classes with the wicket-bean-validation module.
  • Validators and converters Reference The built-in validators, form validators and converters, with their message keys, the variables in their messages and their default texts.
  • WebSocket JavaScript API Reference The Wicket.WebSocket functions and the events your JavaScript can subscribe to on a page with a WebSocket behavior.
  • What happens during a request Explanation How Wicket turns an HTTP request into a request handler, runs it, and cleans up afterwards, and why it is built that way.
  • Where Wicket looks for texts Reference The exact order in which Wicket searches resource bundles for a key, the file names it tries, and the settings that change the search.
  • Why component-oriented Explanation What a component-oriented framework does differently from request-based MVC frameworks, what Wicket gains from it, and what it costs.
  • Wicket modules Reference The artifacts Wicket is released as, what each one contains, which Wicket modules it depends on, and which you need for testing and tooling.
  • Wicket tags and attributes Reference Every tag and attribute in the wicket namespace, what it does, which attributes it takes, with a minimal example of each.
  • WicketStuff Reference The community modules of the WicketStuff project, what each one adds to Wicket, and how to add one to a Maven build.
  • WicketTester Reference The methods of WicketTester, grouped by purpose, with FormTester, TagTester and the JUnit helpers of the wicket-tester module.
  • Wrap a JavaScript widget in a component How-to Package a JavaScript library with a component, initialize it with the component's markup id, keep it working after Ajax updates and call back to the server.
  • Wrap content with a Border How-to Write the markup that goes around content once, as a Border, and wrap any part of a page in it while the page keeps its own components.
  • Write Ajax handlers as lambdas How-to Create Ajax behaviors from lambdas with their static factory methods instead of anonymous subclasses, and do the same for Ajax links and buttons.