Jakarta Standard Tag Library

Summary

The Jakarta Standard Tag Library (JSTL; formerly JavaServer Pages Standard Tag Library) is a component of the Java EE Web application development platform. It extends the JSP specification by adding a tag library of JSP tags for common tasks, such as XML data processing, conditional execution, database access, loops and internationalization.

JSTL
Stable release
1.2.7 / August 18, 2019; 4 years ago (2019-08-18)
OSMultiplatform
Filename extensions.jsp .jspf .jsf
Websiteprojects.eclipse.org/projects/ee4j.jstl Edit this at Wikidata

Specification edit

JSTL was developed under the Java Community Process (JCP) as Java Specification Request (JSR) 52. On May 8, 2006, JSTL 1.2 was released, followed by JSTL 1.2.1 on Dec 7, 2011.[1]

In addition to JSTL, the JCP has the following JSRs to develop standard JSP tag libraries:

  • JSR 128: JESI – JSP Tag Library for Edge Side Includes (inactive)
  • JSR 267: JSP Tag Library for Web Services

General Responsibilities edit

JSTL provides an effective way to embed logic within a JSP page without using embedded Java code directly. The use of a standardized tag set, rather than breaking in and out of Java code, leads to more maintainable code and enables separation of concerns between the development of the application code and user interface.

Tag Library Descriptor edit

There are a total of six JSTL Tag Library Descriptors:

  • Core library. E.g. ⟨c:if⟩[2] and ⟨c:when⟩[3][4]
  • i18n-capable formatting library[5]
  • Database tag library, contains tags for querying, creating and updating database table.[6]
  • XML library[7]
  • functions library[8]
  • TLVs allow translation-time validation of the XML view of a JSP page. The TLVs provided by JSTL allow tag library authors to enforce restrictions regarding the use of scripting elements and permitted tag libraries in JSP pages.[9]

A Tag Library Descriptor is also known as TLD. A TLD is an XML document, so it is case-sensitive.[10]

Core Library edit

The JSTL core library is the most commonly used library[11] and holds the core tags for common tasks.[12] Examples of common tasks include if/else statements and loops.[12] It is mandatory to use a taglib directive to specify the URI of the JSTL core library using a prefix.[11] Although there are many options for the prefix, the c prefix is most commonly chosen prefix for this library. [11]

See also edit

Citations edit

  1. ^ "Maven Central Repository Search".
  2. ^ Murach & Urban 2014, pp. 282–283, §2 Essential servlet and JSP skills - How to use the if tag.
  3. ^ "JSTL core (TLDDoc Generated Documentation)".
  4. ^ Murach & Urban 2014, pp. 284–285, §2 Essential servlet and JSP skills - How to use the choose tag.
  5. ^ "JSTL FMT (TLDDoc Generated Documentation)".
  6. ^ "JSTL SQL (TLDDoc Generated Documentation)".
  7. ^ "JSTL XML (TLDDoc Generated Documentation)".
  8. ^ "JSTL functions (TLDDoc Generated Documentation)".
  9. ^ "Javax.servlet.JSP.JSTL.TLV (Java EE 6 )".
  10. ^ Murach & Urban 2014, pp. 310–311, §2 Essential servlet and JSP skills - The tag element.
  11. ^ a b c Murach & Urban 2014, pp. 178, §2 Essential servlet and JSP skills - How to enable the core JSTL library.
  12. ^ a b Murach & Urban 2014, pp. 270–273, §9 How to use JSTL.

References edit

  • Murach, Joel; Urban, Michael (2014). Murach's Java Servlets and JSP. ISBN 978-1-890774-78-3.

External links edit

  • Official website  
  • JSTL TLDDocs
  • JSR 52 (JSTL 1.0, 1.1, and 1.2)
  • Jakarta Standard Taglib 1.1, an implementation of JSTL (retired)
  • Apache Standard Taglib an implementation of the JSP Standard Tag Library (JSTL) specification
  • JSTL 1.0 Referenz (German) Archived 2019-03-06 at the Wayback Machine
  • JSTL 1.2 home page
  • Official Tutorial: The Java EE 5 Tutorial, Chapter 7, JavaServer Pages Standard Tag Library[1]
  • JSTL 1.1 References
  • JSF 2.1 Facelets Tag Library Documentation[2]
  • OWASP ESAPI Tags (as JSTL does not offer any tags for website security)
  1. ^ "JSTL-api".
  2. ^ Java EE Technical Documentation