2011-02-02 3 views
0

사용자 정의 Tree Tag library을 사용하여 JSP taglib 메커니즘을 사용하여 계층 적 데이터를 표시하고 있습니다. 내 Tomcat 설치가 JSP & 서블릿 샘플을 포함한 다른 웹 앱을 성공적으로 배포했지만이 태그 라이브러리에 문제가 있습니다. 나는 많은 장소에서이 똑같은 문제를 발견했지만 응답은 없었다. 어떤 도움을 주셔서 감사합니다. 미리 감사드립니다.Tomcat 6 및 7의 사용자 정의 트리 Taglib : JSP 용 클래스를 컴파일 할 수 없습니다.

다음과 같이 태그 라이브러리 선언 : 나는 디버깅 목적으로 한 줄에이 라이브러리의 내 사용을 감소했습니다


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(); %> 

, 그것은 서버가 나는 웹 애플리케이션/WEB-INF/lib 디렉토리에 배치 된 라이브러리 (jenkov-prizetags-3.4.0.jar를) 찾을 수없는 것 같습니다. jar 파일을 풀고 서버가 찾을 수없는 것과 동일한 클래스를 찾았습니다. 따라서 웹 응용 프로그램/WEB-INF/lib를보고 있지 않다고 생각합니다. 내가 여기서 뭔가를 놓치고 있니?

프로그래밍 환경 :

  • 톰캣 6 & 7 - 같은 문제.
  • 자바 SDK 6

답변

1

태그 라이브러리 및 스크립틀릿 함께 작동하지 않습니다. 일반적으로 둘 중 하나만 사용합니다. 둘 다 사용할 수는 없습니다.

스크립틀릿의 컴파일 오류에 대해서는 일반 Java 클래스에서와 마찬가지로 ITree 클래스를 가져와야합니다.

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

또는 더 나은 아직, 스크립 전혀 사용하지 않습니다. 해당 Java 코드는 JSP 파일이 아닌 Java 클래스에 속합니다.

+0

팁 주셔서 감사합니다. 방금 Tomcat과 JSP로 놀기 시작했고, 그 위에 사용자 정의 taglib을 사용하고 있습니다. 태그를 클래스에 묶는 태그 lib 디스크립터 파일 (* .tld)이 가져 오기를 수행 할 것이라고 생각했습니다. 그러나 당신이 말하는 것이 사실이라면, 나는 설명 할 수없는 오류들을 설명 할 것입니다. – Thierry

+0

JSP 2.0이 소개 된 2001 년 이전에 작성되지 않은 자습서/서적을 읽어 보시기 바랍니다. 시작 : http://stackoverflow.com/tags/jsp/info – BalusC

+0

감사합니다. 필요한 라이브러리를 가져 왔고 문제가 해결되었습니다. 스크립틀릿이 왜 낙담하는지 더 자세히 알아야하지만, 내 dev 단계를 위해 할 것입니다. 내가 올바르게 따라 가면, 모든 코드가 Java 클래스로 들어가서 가져올 것입니까? 감사. – Thierry

관련 문제