Упомянутых выше зависимостей мне недостаточно (используется Tomcat 5.x в качестве контейнера сервлета, который не обеспечивает саму реализацию JSTL). Он просто импортирует соответствующий пакет интерфейса JSTL в проект и вызовет ошибку времени выполнения в Tomcat.
Вот часть зависимости, используемая в моем проекте, надеюсь, может помочь другим. Самым сложным является наименование реализации JSTL в Apache в репозитории.
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.1.1</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<scope>runtime</scope>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>c</artifactId>
<version>1.1.1</version>
<scope>runtime</scope>
<type>tld</type>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>fmt</artifactId>
<version>1.1.1</version>
<scope>runtime</scope>
<type>tld</type>
</dependency>