В чем разница между различными библиотеками JSTL и какими использовать? - PullRequest
5 голосов
/ 04 февраля 2011

Я озадачен из-за ошибок сборки и запуска, которые вводят меня в заблуждение. Из них я не могу понять, в чем различие между различными библиотеками тегов страниц JavaServer. Например, я вижу:

jstl.jar (in Apache Tomcat)
jstl-1.2.jar (in Tomahawk examples)
jstl-impl.jar (in GlassFish)

В прошлом я использовал (и недавно восстановил и хранил в частном порядке от стихийных бедствий) из javax.servlet.jsp.jstl

jstl-api-1.2.jar
jstl-impl-1.2.jar

Эти последние являются единственными, которые я, по-видимому, могу надежно использовать при выполнении работы JavaServer Faces (JSF).

Я не нашел ни одного вики-утверждения, которое бы контрастировало с этими разными JAR-файлами. Да, я знаю, что их возраст различен. Интересно, например, если jstl.jar не должен быть современным, окончательным, как в одном ( api и impl ), так и в I ' я просто использовал неправильные библиотеки JSF (например, myfaces-api-1.2.8.jar )?

Моя цель - создать определенный набор JAR-файлов для работы в Facelet с использованием MyFaces или RichFaces, двух из тех, которые я знаю лучше всего.

Спасибо всем, кто может пролить свет на лучшую практику по этому вопросу.

1 Ответ

6 голосов
/ 04 февраля 2011

Если ваш целевой сервлет-контейнер имеет его встроенный, то вам не нужно иметь его в вашем /WEB-INF/lib.Полноценные контейнеры Java EE, такие как Glassfish и JBoss AS, имеют встроенные функции.

Если ваш целевой сервлет-контейнер не имеет его встроенного (Tomcat и т. Д.) Или вы хотите охватить как можно больше сервлет-контейнеров, то вам необходимовыберите самую последнюю версию JSTL, которая соответствует версии API сервлета, заявленной вашими web.xml.

Подробнее о различиях версий JSTL и о том, где их скачать, см. нашу собственную вики-страницу тега JSTL .Это та же страница, что и при наведении курсора под вашим вопросом и нажатии info.

.
...