A JSTL é uma coleção de tags JSP que encapsula diversas funcionalidades de uso contínuo e comum presentes em inúmeras aplicações web. Alguns dos objetivos que motivaram o desenvolvimento da JSTL foram aqueles ligados, por exemplo, a clareza e a legibilidade do código presente nas páginas JSP.
Como já dito anteriormente, o uso de scripts torna o código das páginas JSP complexo e confuso em função da mistura de dois estilos/técnicas de programação diferentes: imperativo e declarativo. Desta forma, a API JSTL encapsulou em tags simples, toda a funcionalidade de construção dinâmica de páginas Web tais como:
Existe um total de seis taglibs para a JSTL: