Пользовательское дерево Taglib на Tomcat 6 и 7: невозможно скомпилировать класс для JSP - PullRequest
0 голосов
/ 02 февраля 2011

Я использую пользовательскую библиотеку Tree Tag для отображения иерархических данных с помощью механизма JSP taglib.Моя установка Tomcat успешно развернула другие веб-приложения, включая примеры JSP и сервлетов, но у меня возникают проблемы с этой библиотекой тегов.Я нашел ту же самую проблему во многих местах, но без ответов.Любая помощь приветствуется.Заранее спасибо.

Библиотека тегов объявлена ​​следующим образом:


 1:     &lt%@ taglib uri="WEB-INF/treetag.tld" prefix="tree" %&gt

Я сократил использование этой библиотеки до одной строки для целей отладки, и это код в строке 20. Вот ошибкасообщение:


org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 20 in the jsp file: /hello.jsp
ITree cannot be resolved to a type
20:     &lt% ITree tree = new Tree(); %&gt

Из вышеприведенной ошибки похоже, что сервер не может найти библиотеку (jenkov-pritata-3.4.0.jar), которую я поместил в webapp / WEB-INF / Lib.Я распаковал файл jar и обнаружил те же самые классы, которые сервер не может найти, поэтому я склонен думать, что он просто не просматривается в webapp / WEB-INF / lib.Я что-то здесь упускаю?

Среда программирования:

  • Tomcat 6 & 7 - та же проблема.
  • Java SDK 6

1 Ответ

1 голос
/ 02 февраля 2011

Taglibs и скриптлеты не работают вместе.Обычно вы используете один или другой, а не оба.

Что касается ошибки компиляции в вашем скриптлете , вам просто нужно импортировать класс ITree, как вобычный класс Java.

<%@page import="com.example.ITree" %>

Или, что еще лучше, вообще не используйте скриптлет .Этот код Java принадлежит классу Java, а не файлу JSP.

...