2013-01-09 2 views
3


Я занимаюсь веб-приложением Java для курсовой работы, и требуется использование библиотеки JSTL;
, так что мои вопросы:
. Должен ли быть настроен JSTL на tomcat web.xml? Если да, то как его настроить?
Я уже загрузил файл jar; где я должен это выразить?
Нужно ли настраивать библиотеку JSTL на tomcat web.xml?

Заранее благодарен!

+1

http://stackoverflow.com/tags/jstl/info – xyz

ответ

4

Нет, вам не обязательно определять его в web.xml.

Вы должны положить банку в свой WEB-INF/lib и объявить ее в своем jsp. что-то вроде:

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

это дает мне эту ошибку: Абсолютный uri: http: //java.sun.com/jsp/jstl/core не может быть разрешен ни в web.xml, ни в файлах jar, развернутых с этим приложением. – DamianFox

+0

@DamianFox Вы используете jstl 1.0? вы можете попробовать удалить '/ jsp /' из uri, посмотреть, работает ли это – Kent

+1

Когда я удаляю эту часть uri, она дает ту же ошибку. Кроме того, я также использую jstl 1.2 – DamianFox

1

Нет, вам не нужно ничего настраивать в web.xml.

для Java EE 5 контейнеров> Вы не должны связывать JSTL банки в WEB-INF/Lib

Другие Вы должны связать JSTL внутри WEB-INF/Lib

И использовать JSTL-теги в JSP, определив директиву TagLib как это:

ядро ​​тэги

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

Форматирование Метки

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

SQL Метки

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

XML Метки

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

Функция Метки

<%@ taglib prefix="fn" 
      uri="http://java.sun.com/jsp/jstl/functions" %> 
+0

Я пытался не связывать jstl jars в WEB-INF/lib, но Netbeans дает мне ошибку, говоря, что он не может найти файл jar. – DamianFox

+2

Часть о том, нужно ли связывать JSTL в зависимости от версии API сервлета полная чушь. Это зависит от самой реализации сервлета. Например. Tomcat не поставляется с JSTL в комплекте, и это независимо от версии Tomcat/Servlet. Пожалуйста, прочтите нашу страницу Wiki на JSTL: http://stackoverflow.com/tags/jstl/info – BalusC

+0

@BalusC Отредактировал мой ответ. Мое намерение состояло в том, чтобы сказать, что некоторые контейнеры отправляются JSTL по умолчанию. И я поставил это неправильно. –

-1

Вам нужно убедиться, что jstl-api 1.2 и jstl-impl 1.2 в каталоге thw wen-inf/lib. Нет необходимости в других изменениях в web.xml. Это должно работать.

0

Использование JSTL не должен быть настроен в web.xml НО при условии, у вас есть JSTL-1.x.jar в /WEB-INF/lib, это можно сделать так:

в /WEB-INF/web.xml добавить под <\welcome-file-list>:

<jsp-config> 
    <jsp-property-group> 
     <url-pattern>*.jsp</url-pattern> 
     <include-prelude>/WEB-INF/taglibs.jsp</include-prelude> 
    </jsp-property-group> 
    </jsp-config> 

Затем в /WEB-INF/ создать taglibs.jsp со следующей ссылкой

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

С помощью этого решения вам не нужно добавлять директиву taglib в каждый отдельный JSP-файл.

Смежные вопросы