JSP Controls Tag Library provides the lifecycle for portlet-like JSP components. The Library does not require a portal engine or other central controller. The components built with the Library can be used in any JSP-based application.

The Library utilizes two request processing concepts:
* Traditional synchronous HTTP request/response cycle (Non-Ajax mode), and
* In-place updating for browsers supporting XMLHTTPRequest object (Ajax mode).

Input and output are treated as two distinct phases. On input phase (or accept phase) a browser sends an event and accompanying data to a component, usually by submitting an HTML form. On output phase (or render phase) the component displays a view matching its state.

By default, in non-Ajax mode each phase corresponds to a separate HTTP request. On input phase browser submits data to a component, and component accepts and processes it. After that, the component reloads the page by redirecting browser to original page location.

In Ajax mode an application renders a view directly in response to asynchronous input event, no reloading is needed. An HTML fragment, returned by component, is inserted into the larger composite page without full page refresh.

Pages composed with JSP Controls Tag Library look and behave the same way whether they run in Ajax mode or not. In fact, a browser that renders web page in an off-screen buffer, may deliver the same flicker-free experience in non-Ajax mode as other browsers do in Ajax mode.

Version 0.2 has a lot of new features and bugfixes. Among them:

* Hidden field in component HTML form is not needed anymore; the reload process in non-Ajax mode is completely automatic and transparent.
* It is possible to update other components in Ajax mode, not only the component that was activated.
* The transition between Ajax and non-Ajax mode is undetectable, you can switch Javascript support on or off and see no disruption in user experience. Run something like LiveHTTPHeader to see the difference.
* It is possible to set custom reload location, like if you need to handle command and then to jump to another page.
* Included is Mini Blogger example.
* Included Tab Control sample, see live demo.
* Tremendously improved documentation (not the language-wise since I am not a native English speaker after all).

Home page: http://jspcontrols.sourceforge.net<br/>
Live demos: http://www.superinterface.com/jspcontrols