我正在尝试在基于JSP的自定义标记中使用以下类:
public class HelloWorldTest {
public void hello1() { }
}
标记文件位于WEB-INF/tags/hello.tag
:
<%@ tag language="java" pageEncoding="ISO-8859-1" %>
<% HelloWorldTest hello; %>
我正在尝试使用index.jsp
中的标记:
<%@taglib tagdir="/WEB-INF/tags" prefix="my"%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<body>
<my:hello></my:hello>
</body>
</html>
我得到以下异常:
org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.index_jsp
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:178)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:370)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
问题是尝试使用HelloWorldTest
类,因为没有它的标记工作正常:
<%@ tag language="java" pageEncoding="ISO-8859-1" %>
<% for(int i = 0; i < 5; i++) { %>
<%= i %>
<% } %>
答案 0 :(得分:2)
您需要使用import
指令实际import the class。
<%@ page import="my.package.HelloWorld" %>
(其中my.package
替换为您班级的实际包裹。)