Зависимости Tomcat 5.5 Servlet / JSP / JSTL - PullRequest
2 голосов
/ 15 июня 2011

У меня проблема с библиотеками веб-приложений Tomcat 5.5 и Java EE.Я использую Gradle для управления зависимостями и использую JSP API 2.0, Servlet API 2.4 и JSTL 1.1.

Я получаю org.apache.jasper.JasperException: The absolute uri: <a href="http://java.sun.com/jsp/jstl/core" rel="nofollow">http://java.sun.com/jsp/jstl/core</a> cannot be resolved in either web.xml or the jar files deployed with this application

Согласно http://www.mularien.com/blog/2008/04/24/how-to-reference-and-use-jstl-in-your-web-application/, это означает, что реализация JSTL отсутствует.

Вот как выглядит мой web.xml:

<web-app
    xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
        http://java.sun.com/xml/ns j2ee/web-app_2_4.xsd"
    version="2.4">


Вот как я ссылаюсь на библиотеки JSTL:
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


Соответствующие зависимости в файле сборки Gradle:
providedCompile group: 'javax.servlet', name: 'servlet-api', version: '2.4'
providedCompile group: 'javax.servlet', name: 'jsp-api', version: '2.0'
compile group: 'javax.servlet', name: 'jstl', version: '1.1.+'


В Tomcat / common / libs у меня есть следующие jar:
Tomcat 5.5\common\lib

23.09.2002  12:23            45˙386 activation.jar
05.03.2007  17:26           112˙341 commons-el.jar
05.03.2007  17:26         1˙213˙732 jasper-compiler-jdt.jar
05.03.2007  17:26           408˙133 jasper-compiler.jar
05.03.2007  17:26            76˙844 jasper-runtime.jar
05.03.2007  17:26            50˙952 jsp-api.jar
29.08.2005  22:28           358˙085 LOG4J-1.2.12.JAR
12.10.2004  13:20           347˙137 mail-1.3.2.jar
05.03.2007  17:26           163˙490 naming-factory-dbcp.jar
05.03.2007  17:26            31˙963 naming-factory.jar
05.03.2007  17:26            47˙730 naming-resources.jar
05.03.2007  17:26            99˙235 servlet-api.jar


В встроенной WAR-файле единственным релевантным файлом JAR является jstl-1.1.2.jar

Ответы [ 3 ]

4 голосов
/ 15 июня 2011

Полагаю, вы должны включить и api и impl из jstl в ваш файл войны.Существует несколько реализаций jstl, например здесь или здесь .К сожалению, я не знаю, как заставить gradle сделать это для вас.

1 голос
/ 15 июня 2011

Я думаю, что вы можете скачать c.tld (у меня есть, если хотите, я могу загрузить его в любое место для вас) и объявить его в web.xml следующим образом:

 <jsp-config>
    <taglib>
        <taglib-uri>/WEB-INF/c.tld</taglib-uri>
        <taglib-location>/WEB-INF/c.tld</taglib-location>
    </taglib>
 </jsp-config>

И вJSP также:

<%@ taglib uri="/WEB-INF/c.tld" prefix="c" %>
0 голосов
/ 11 мая 2012
compile "javax.servlet:com.springsource.javax.servlet.jsp.jstl:1.1.2";

В этой строке будет добавлена ​​зависимость gradle для JSTL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...