AjaxController receives requests sent by the browser and routes them to AjaxAction classes through the application action mapper. It is the entry point for Ajax interactions.
A typical controller is a servlet extending AjaxController; the actions register with its action mapper in init(). Controller hooks can initialize or inspect each request.
Follow a real button request from the browser through the Ajax controller into a server action, then back as a PushAction.
A second request triggers a server-generated dialog while staying on the same page.
Parameters supplied on an action are available on the request.
Usually you define one Ajax controller for an application area and multiple small AjaxAction classes. Controller hooks are appropriate for request-wide checks, not component-specific UI.
These examples introduce the most important behavior without attempting to document every method. For the complete reference, see https://doc.jdance.org.