我使用自定义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。我在这里错过了什么吗?
编程环境:
答案 0 :(得分:1)
Taglibs和 scriptlet 无法一起使用。您通常使用其中一个,而不是两个。
关于 scriptlet 中的编译错误,您只需要像在普通Java类中那样导入ITree
类。
<%@page import="com.example.ITree" %>
或者,更好的是,根本不要使用 scriptlet 。该Java代码属于Java类,而不是JSP文件。