The Java Server Pages Standard Tag Library (JSTL) provides several tag libraries that offer a set of standardized JSP custom actions that can be included in pages. This includes tasks such as conditional processing, internationalization, database access, and XML processing. Developers can use this functionality to dramatically reduce development time and scripting elements in their pages. JSTL, like all other Java specifications, has been developed by the community under the JCP as JSR-52 and was finally released in July 2002. The JSTL reference implementation is included in the Java WSDP.
We assume the reader is familiar with JSPs and custom tags, both of which have many good books dedicated to them. We will not cover all JSTL's features and functionality but will limit our discussion to the XML processing tags. These are relevant to developers using Web services who must present a user-facing presentation tier-for example, a console that monitors the number of orders processed by an order-processing Web service.
The advantage of using a standard tag library defined by JSTL is that JSPs using this will be completely portable across all containers. Prior to JSTL, developers had to rely on tag libraries provided by vendors as utilities for common tasks with their respective containers, or on open source code such as the Apache tag libraries. JSTL's standardization lets developers deal with a few tags that can be used on multiple JSP containers. Also, when tags are standardized, the container vendors can work toward optimizing the tag library implementations.