Apache Tomcat 10 и JSTL

Apache Tomcat 10 согласно официальной документации реализует спецификацию Java Server Pages 2.3. Немного староватая спецификация, так как уже есть 3.0, но всё же неплохо:

Обратите внимание, что scope указан provided, что означает, что зависимость будет доступна в окружении (в Apache Tomcat она уже будет), когда проект будет запущен, её не нужно отдельно копировать в зависимости.

Или для Gradle:

Но что же с JSTL? Вот тут-то совсем печально. Apache Tomcat предоставляет реализацию только спецификации JSTL 1.2, причем по умолчанию он не включает в себя эту библиотеку. Вы можете либо скачать её сами и положить в каталог lib у Apache Tomcat, либо подключить как зависимость в своём проекте.

Пример подключения зависимости Apache Taglibs для Maven:

Пример подключения зависимости Apache Taglibs для Gradle:

Но здесь возникнет проблема: Spring Framework 6, похоже, не может работать с такой древней библиотекой как Apache Taglibs 1.2.5, у меня никак не удалось его заставить это сделать.

Для того чтобы наш проект на Spring Framework хостился в Apache Tomcat и работал с JSTL, нам придётся подключить реализацию этой спецификации, например, от GlassFish:

Или в случае с Gradle:

Один комментарий к “Apache Tomcat 10 и JSTL”

  1. Аналог в магии примерно такой:
    Если раньше когда творишь заклинание, нужно было бросить в эликсир зелёный корень мандрагоры и произнести «заклинаю корнем мандрагоры», то внезапно (например, с другим котлом или другой поварёшкой), эти слова перестали работать и теперь нужно произнести «заклинаю зелёной мандрагорою» — хотя она и так зелёная и это как бы подразумевается рецептом эликсира.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *