Библиотеки тегов позволяют более четко разделить внешний вид вашего приложения и его логику по сравнению с оригинальным синтаксисом скриптлетов, предлагаемым JSP. Замена скриптлетов пользовательскими тегами устраняет неловкую путаницу императивной Java и декларативной разметки, которая была обычной в JSP.
В идеальном мире веб-дизайнеры смогут редактировать файлы JSP, используя комбинацию стандартной разметки и пользовательских тегов. Общие шаблоны разметки могут быть выделены в файлы тегов; если им нужно что-то, что требует новой логики, программист может реализовать для них класс тегов.
Существует два способа реализации библиотеки тегов: файлы тегов и классы тегов. Файлы тегов используют синтаксис, почти такой же, как JSP, но могут параметризоваться с помощью атрибутов в теге. Классы тегов - это обычные классы Java, которые реализуют специальный интерфейс и поставляются вместе с дескриптором библиотеки тегов - XML-файл, который описывает имя тега, атрибуты и класс реализации.
Большинство веб-фреймворков Java сегодня поставляются с собственной библиотекой тегов, которая помогает разработчикам легче использовать функции фреймворка. Другие библиотеки тегов, такие как JSTL, предоставляют функциональность, которая полезна практически в любом приложении и может использоваться в сочетании с любой платформой.