Develop/JSP

[JSP] TLD로 정적 메서드 호출

지식작문 2024. 6. 24.

 

[TLD생성] TLD를 이용하여 정적메서드 호출을 기록하기 위해서

일단 TLD를 생성하기 위해서는

[webapp/WEB-INF]을 우클릭하고 [New]에서 [Other]를 누른다.

 

[Wizards:]에서 xml이라고 입력후 [XML]에서 [XML File]을 누르고 [Next]버튼을 클릭한다.

 

[File name]에서 본인이 원하는 이름을 입력 후 [Next]를 클릭한다.

 

[Create file using a DTD or XML Schema file]를 누르고 [Next]를 누른다.

 

[Select XML Catalog entry]를 선택하고 [web-jsptaglibrary_2_0]을 입력 후 [http://java.sun.com/xml/ns/j2ee]을 누르고 [Next]를 누릅니다.

 

[Namespace Information]에서 [Prefix]가 [j2ee]인것을 선택 후 [Edit]를 누릅니다.

 

[Prefix:]에서 문자를 삭제 후 [OK]를 누릅니다.

 

[Prefix]에서 [j2ee]가 [no prefix]를 바뀌었으면 [Finish]를 누릅니다.

 

여기까지하면 TLD파일이 생성된다.


 

[TLD 파일에 메서드 등록]

 

[WEB-INF]에서 만든 TLD파일로 들어가 다음과 같이 작성한다.

버전은 1.0으로 하고 [short-name]은 아무렇게 작성한다.

[function]는 메서드를 등록하는 태그로 [name]에는 메서드이름, [function-class]에는 정적메서드가 있는 클래스 이름을 쓰는데 패키지명도 포함해서 작성한다.

[function-signature]에는 메서드 시그니처를 채우는데 메서드이름, 반환타입, (변수이름없이)파라미터타입을 채워넣는다.

 

[JSP에서 호출]

 

taglib 지시어를 선언하고, prefix 속성에는 EL에서 사용할 접두어를 쓰고, uri는 TLD파일의 경로를 쓰면된다.

<%@ taglib prefix="short-name" uri="/WEB-INF/TLD파일경로"%>

여기까지하면 접두어를 이용해 메서드를 호출할 수 있다.

 

댓글