It looks like for some reason Wicket considers some of our components as stateful and hence some pages become stateful as well. What makes Wicket assume a component as not stateless? If the goal is to make as much as stateless as possible, what are some Don'ts (and what to use instead)?
Usually Ajax components and behaviors make the page stateful. You can use WicketStuff-Stateless library to replace them with stateless versions.
Apart from this you should replace usage of Form
component with StatelessForm
and Link
with StatelessLink
.
You can use wicket-devutils' StatelessChecker
to find out which component/behavior makes the page stateful.