Welcome
JSP Controls Tag Library manages the lifecycle of independent JSP fragments like login forms, checkout wizards, tabbed notebooks or image sliders, also referred to as page components or JSP components. The library automatically selects asynchronous or synchronous mode depending on browser capabilities.
JSP Controls Tag Library is not a collection of ready-to-use widgets; one may think of the library as of a tiny portal engine with an API consisting of just five custom tags. With the help of these tags the page fragments render themselves and handle their own input.
The key difference of JSP Controls Tag Library from other web component solutions is that Javascript is not required for page fragments to function properly. If Javascript is enabled in the browser, the library updates the fragments in-place. If Javascript is disabled, the library falls back to full page refresh, calculating the reload address automatically.
Components built with the library can be used in any JSP-based application and can run in any browser.

Independent Page Fragments
The Library utilizes two request processing concepts:
- Traditional synchronous HTTP request/response cycle (Non-Ajax mode), and
- Asynchronous in-place update for Javascript-enabled browsers with XMLHTTPRequest support (Ajax mode).
In non-Ajax mode after browser submits data to a fragment, the fragment updates its state if necessary and reloads the whole page by redirecting browser to the original page location. A request that follows, pulls up page fragments and they [re]render themselves.
In Ajax mode an application renders a view directly in response to asynchronous request, no reloading is needed. HTML markup, returned by the fragment, is inserted into the composite page without full page refresh.
Pages composed with JSP Controls Tag Library look and behave the same 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.
System Requirements
- Java SDK 1.3+
- Servlet container, supporting servlet specification 2.3+ and JSP specification 1.2+ (Tomcat 4, Resin 2)
- A browser supporting either bare HTTP 1.1 (almost any browser) or Javascript+XMLHTTPRequest object (MSIE 5+, Firefox 1.x, Safari 1.2+).
- Samples use JSTL 1.1 and require JSP 2.0 container to run (Tomcat 5, Resin 3)
Current Status, July 2006
The latest available version is 0.6.2. It went a long way of enhancements and bugfixes since November 2005. Major changes in tag nomenclature and their usage is unlikely but possible. Try on your own risk. Basically, all versions below 1.0RC are beta versions (alpha versions were ones below o.6). Your participation in using these beta versions will help to produce better, bug-free and feature-rich product!
Demos
There are not a lot of demos so far. JSP Controls Tag Library is not about ready-to-use components, it is about managing component lifecycle. A couple of simple demos are available on old demos page. More fragments and use cases will be added later.
License
The JSP Controls Tag Library is released under Apache 2.0 license.
Copyrights
All code, documentation and images on this site copyright by members of JSP Controls project unless expressly stated otherwise. Some images are based on page template found at TemplatesBox.com website.
Java, JSP, and JavaServer Pages are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries. JSP Controls Tag Library is not affiliated with, neither endorsed by Sun Microsystems, Inc.
