2012-06-01 2 views
3

.TLD 선언하지 않고 JSP 문서에 태그 파일을 사용 : 내가 한 모든 30+ 예에JSP 2.0 - 내 <strong>JSP 문서</strong> 파일에서이 같은 것을 사용할

<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %> 

단을, 본 모두는 JSP 문서 구문이 아닌 간단한 JSP 구문을 사용합니다. 이 같은 것 :

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" 
    xmlns:c="http://java.sun.com/jsp/jstl/core" 
    xmlns:fn="http://java.sun.com/jsp/jstl/functions" 
    xmlns:fmt="http://java.sun.com/jsp/jstl/fmt" 
    xmlns:t="/WEB-INF/tags" 
    xmlns="http://www.w3.org/1999/xhtml" 
    version="2.0"> 

간단히 작동하지 않습니다./WEB-INF/tags에있는 모든 태그 파일은 페이지에 표시되지 않습니다. tld 파일을 정의하고 거기에있는 모든 태그를 나열하는 경우에만 페이지에서 액세스 할 수 있습니다. tld 선언을 피하고 여전히 JSP 문서 페이지에서 태그 파일을 사용할 수 있습니까?

답변

5

한 당신에 태그 디렉토리를 작성 WEB-INF

2 태그가 될 것입니다 sample.tag 파일 만들기/디렉토리 :

<%@ attribute name="exampleAttribute" required="true" type="java.lang.String" description="Example attribute" %> 

<c:out value="${exampleAttribute}"> 

3 선언 태그 라이브러리 사용하려는 위치를 JSP에서을 그것은 :

<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %> 

4 사용이 :

<tags:sample exampleAttribute="Hello from custom tag!"/> 

그리고 웹 애플리케이션 2.5 버전이 있어야한다고 생각합니다. 해당 버전에서만 생각해보십시오. JSP 2.0이 지원됩니다 (web.xml 체크 인).

+1

JSP 페이지와 문서의 구문이 다릅니다. 페이지 구문을 사용했지만 jsp 문서 구문 (순수한 xml 형식)으로 작성된 '<% @ taglib prefix = "태그"tagdir = "/ WEB-INF/tags"%>'가 필요합니다. 내 문서에서 진술을 사용하면 jsp 문서의 유효한 코드가 아니기 때문에 단순히 예외가 발생합니다. – Shajirr

+0

나를 위해 위대한 작품! –

5

xmlns 속성에 접두어 "urn : jsptagdir :"을 입력해야합니다. 귀하의 경우,

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" 
    xmlns:c="http://java.sun.com/jsp/jstl/core" 
    xmlns:fn="http://java.sun.com/jsp/jstl/functions" 
    xmlns:fmt="http://java.sun.com/jsp/jstl/fmt" 
    xmlns:t="urn:jsptagdir:/WEB-INF/tags" 
    xmlns="http://www.w3.org/1999/xhtml" 
    version="2.0"> 

접두사 "urn : jsptld :"를 사용하여 TLD의 위치를 ​​지정할 수도 있습니다. 자세한 내용은 http://docs.oracle.com/javaee/1.4/tutorial/doc/JSPX3.html의 "태그 라이브러리 선언"절을 참조하십시오.