Джакарта JSTL Tomcat

#java #tomcat #jstl

Вопрос:

Я разрабатываю веб-приложение в IntelliJ с Java/Jakarta, Maven и Tomcat 10. Поэтому я хочу использовать теги JSTL, но не могу заставить их работать.

Через Maven я добавил org.glassfish.web:jakarta.servlet.jsp.jstl:2.0.0. в свой проект. Я также добавил файл jar в папку Tomcat/lib.

В файле jsp я добавил:

 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 

Для решения проблемы «Абсолютный uri: http://java.sun.com/jstl/core не может быть решена ни в том, ни в другом web.xml или файлы jar, развернутые с помощью этого приложения» Я добавил зависимость в свой pom.xml

 <dependency>
 <groupId>org.glassfish.web</groupId>
 <artifactId>jakarta.servlet.jsp.jstl</artifactId>
 <version>2.0.0</version>
</dependency>
 

Теперь у меня возникла следующая проблема:

 java.lang.NoClassDefFoundError: jakarta/servlet/jsp/jstl/core/LoopTag
 

Спасибо вам за потраченное время :)!

Ответ №1:

Файлы jakarta.servlet.jsp.jstl-2.0.0.jar и jakarta.servlet.jsp.jstl-api-2.0.0.jar не помещаются в Tomcat/lib папку.

Их следует поместить в WEB-INF/lib папку в .war файле.