Tomcat 6& 7上的自定义树Taglib:无法为JSP编译类

时间:2011-02-02 15:50:38

标签: jsp servlets taglib

我使用自定义Tree Tag library来使用JSP taglib机制显示分层数据。我的Tomcat设置已成功部署其他Web应用程序,包括JSP& servlet示例,但它给了我这个标记库的问题。我在很多地方发现了同样的问题,但没有回应。任何帮助表示赞赏。提前致谢。

标记库声明如下:


 1:     <%@ taglib uri="WEB-INF/treetag.tld" prefix="tree" %>

为了调试目的,我将这个库的使用减少到一行,这是第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:     <% ITree tree = new Tree(); %>

从上面的错误中,看起来服务器找不到我放在 webapp / WEB-INF / lib的库(jenkov-prizetags-3.4.0.jar)。我已经解压缩了jar文件并找到了服务器找不到的相同类,所以我倾向于认为它只是没有查看 webapp / WEB-INF / lib。我在这里错过了什么吗?

编程环境:

  • Tomcat 6&amp; 7 - 同样的问题。
  • Java SDK 6

1 个答案:

答案 0 :(得分:1)

Taglibs和 scriptlet 无法一起使用。您通常使用其中一个,而不是两个。

关于 scriptlet 中的编译错误,您只需要像在普通Java类中那样导入ITree类。

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

或者,更好的是,根本不要使用 scriptlet 。该Java代码属于Java类,而不是JSP文件。