Web.xml에서 JSP Taglib 지시문을 선언합니다
문제
다음과 같은 Taglib 지시문을 선언 할 수 있다는 것을 읽은 것을 기억하는 것 같습니다.
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
web.xml에서. 이렇게하면 Taglib가 사용되는 모든 JSP 파일 에서이 지시문을 복제 할 필요가 없습니다. 누군가 나에게 말할 수 있습니까? 어떻게 이 지침은 web.xml에 추가 할 수 있습니까?
해결책
그만큼 taglib
web.xml의 요소는 다른 목적을 제공합니다 taglib
위에있는 지침.
다윗이 말했듯이 taglib
각 페이지에 지침이 필요합니다.
공통 taglibs를 사용하는 페이지가 많으면 taglib 지시문을 포함 파일에 넣고 각 페이지를 포함 하여이 파일을 포함 하여이 파일을 포함시킬 수 있습니다. 그러나 어떻게하는지에 관계없이 Taglib 지시문은 어떻게 든 페이지에 있어야합니다.
각 페이지에 포함 해야하는 태그는 다음과 같습니다.
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
사용자 정의 위치에 사용자 정의 taglib가있는 경우 WebApp 루트와 관련된 위치를 지정할 수도 있습니다.
<%@ taglib prefix="ex" uri="/taglib.tld" %>
그만큼 taglib
web.xml의 지시문은 uris taglib의 물리적 위치에 대한 태그 맵입니다. 준수 컨테이너는 표준 위치 세트에서 Taglib : /web-inf 및 그 하위 디렉토리, /meta-inf뿐만 아니라 JAR 파일에 대해 자동으로 발견 할 수 있으므로 JSP 2.0이므로 선택 사항입니다.
Web.xml에서 다음과 같습니다.
<taglib>
<taglib-uri>
http://www.example.com/taglib
</taglib-uri>
<taglib-location>
/taglib.tld
</taglib-location>
</taglib>
그리고 Taglib는 JSP 페이지에서 다음과 같이 참조됩니다 (각 페이지의 Taglib 지시문은 피할 수 없습니다!) :
<%@ taglib prefix="ex" uri="http://www.example.com/taglib" %>
이것은 위의 Taglib 지시문에 대해 내가 준 두 번째 예와 같습니다. 가장 큰 차이점은 Taglib 위치를 가리키는 방법입니다.
이 페이지 조금 더 많은 정보가 포함되어 있습니다.
다른 팁
죄송합니다, 당신은 약간 실수했습니다. 페이지가 taglib를 사용하는 경우 페이지에 taglib 지시문이 있어야합니다. 모든 페이지에 포함 지시문이 포함 된 파일에 공통 Taglib 지시문을 배치 할 수 있지만 컴파일 시점에는 Taglib 지시문이 있어야합니다.
web.xml에 taglib 요소가없는 것을 선호하고 대신 web-inf/lib의 Taglib JAR 파일 내부에있는 TLD의 "URI"요소에 사용되는 URI 값을 지정하도록합니다. .