java class static method를 EL 함수로 등록하여 호출 가능하고 이를 위해 .tld파일에 저장한다.
web.xml과 다르게 하나의 웹 어플리케이션 dir내에 여러개 존재 가능하며 root elemenet는<taglib>
이다.
<taglib>
<tlib-version>1.0</tlib-version>
<short-name>math</short-name>
</taglib>
<taglib>
<tlib-version>1.0</tlib-version>
<short-name>math</short-name>
<function>
<name>squareroot</name>
<function-class>java.lang.Math</function-class>
<function-signature>double sqrt(double)</function-signature>
</function>
</taglib>
이를 모두 암기해야한다..
즉 태그 라이브러리 안에 버전, 짧은 이름이 있고
그 밑에 본격적으로 함수를 확인할 수 있다.
함수에서는 진짜 이름과 클래스이름 , 시그니처 확인할 수 있다.
<jsp-config>
<taglib>
<taglib-uri>http://abcd.co.kr/brain07/math-functions.tld</taglib-uri>
<taglib-location>/WEB-INF/tlds/math-functions.tld</taglib-location>
</taglib>
</jsp-config>
파일 식별자, 경로를 넣어 web.xml에 등록한다.
taglib-uri에는 상대 URI도 가능하다.
<%@taglib uri="http://localhost:8080/el/math-functions.tld" prefix="m" %>
taglib지시자를 써서 불러와주고
${m:squareroot(4)}
이렇게 EL에 넣어 사용가능하다.
이를 통해서 사용자 정의 정적 메서드 호출이 가능해진다.
javac ~.java
), 컴파일 결과를 WEB-INF/classes/util에 저장한다.