2011-11-20 3 views
1

나는 JSP 기반의 사용자 정의 태그에 다음과 같은 클래스를 사용하려고 해요 : 태그 파일이 WEB-INF/tags/hello.tagJSP 커스텀 태그 ClassNotFoundException가

public class HelloWorldTest { 
    public void hello1() { } 
} 

입니다

:

<%@ tag language="java" pageEncoding="ISO-8859-1" %> 
<% HelloWorldTest hello; %> 

내가하려고 해요 index.jsp에서 태그를 사용

<%@taglib tagdir="/WEB-INF/tags" prefix="my"%&gt; 
<%@ page contentType="text/html;charset=UTF-8" language="java" %&gt; 
<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 %> 
<% } %> 
+1

가져 오는 패키지를 코드에서? – Lion

+0

감사합니다. HelloWorldTest를 src/mypackage /로 대체하고 hello.tag에'% '코드를 추가했습니다. – Alex

답변

2

당신은 실제로 import the classimport 지시어가 필요합니다.

<%@ page import="my.package.HelloWorld" %> 

(클래스의 실제 패키지와 함께 어디 my.package을 대체됩니다.)