Tomcat 6&;上的自定义树标记库;7:无法为JSP编译类

Tomcat 6&;上的自定义树标记库;7:无法为JSP编译类,jsp,servlets,taglib,Jsp,Servlets,Taglib,我正在使用一个定制的标签库机制来显示分层数据。我的Tomcat安装程序已经成功部署了其他Web应用程序,包括JSP和servlet示例,但是它给我带来了这个标记库的问题。我在很多地方都发现了同样的问题,但没有得到回应。感谢您的帮助。提前谢谢 标记库声明如下: 1: <%@ taglib uri="WEB-INF/treetag.tld" prefix="tree" %> 为了调试的目的,我将这个库的使用减少到了一行,这就是第20行的代码。以下是错误消息: org.apac

我正在使用一个定制的标签库机制来显示分层数据。我的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和7-同样的问题
  • Java SDK 6
Taglibs和scriptlet不能一起工作。您通常使用其中一个,而不是两个

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

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


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

谢谢您的提示。我刚开始使用Tomcat和JSP,除此之外,我还使用了一个定制的taglib。我认为标记库描述符文件(*.tld)将标记绑定到它们的类,从而完成导入。但是如果你说的是真的,那么这就可以解释我所遇到的无法解释的错误。我强烈建议你阅读2001年引入JSP 2.0之前没有编写过的教程/书籍。从这里开始:谢谢,我导入了必要的库,问题就解决了。我需要阅读更多关于为什么不鼓励使用Scriptlet的内容,但在我的开发阶段就可以了。如果我没有弄错,所有的代码都会进入一个Java类,然后我会导入这个类?谢谢。这种工作应该由servlet在
doGet()
方法中完成。要了解有关servlet的更多信息,请查看我们的servlet wiki页面:。为了了解Scriptlet的不可取之处,请阅读,它还附带了一些常规方法的示例。@BalusC,因此我完全摆脱了jsp文件中的scriplets,将纯Java代码编写的树模型存储在servlet中。然而,为了构建树模型,我必须调用servlet,然后访问我的jsp页面。如何让jsp调用servlet?当然,不使用便签。我觉得这是一个太多的后续行动,不是一个独立的问题。