Java단의 StringUtils 같은 유용한 문자열 처리 유틸리티를 JSP 에서 EL(Expression Language)을 사용하 편하게 사용 할 수 있다.
먼저 Java단에서 사용할 유틸리티 메소드 만든다.
메소드는 반드시 정적(static) 메소드로 만들어야 한다.
아래는 숫자로된 문자열을 받아서 3자리마다 콤마를 찍어서 돌려주는 기능을 하는 메소드이다.
그리고 커스텀 태그 설정 파일인 tld 파일을 생성한다.
파일은 WEB-INF 하위에 임의의 폴더를 만든 후 생성한다.
단, WEB-INF 하단의 classes, tags, lib 폴더는 사용할 수 없다.
여기서는 /WEB-INF/custom-tag/stringUtils.tld 로 만들었다.
tld 파일에서 tld-version, jsp-version 은 뭔가 의미하는 바가 있을텐데 테스트 결과 무슨값을 넣어도 동작은 동일하게 작동 한다. 혹시 의미를 안다면 댓글좀.. ^^
show-name 의 경우 taglib 를 식별하는 값인거 같다. 위와같이 version 및 name 엘리먼트는 필수로 들어가 있어야 한다.
그리고 funcion 으로 감싸져있는 부분이 사용할 메소드를 설정하는 부분이다.
하나의 tld 안에 여러개의 function을 만들어서 사용할 수 있다.
=> description: 주석과 같이 설명을 적어 놓으면 된다.
=> name: JSP 내에서 사용할 함수명으로 이용된다.
=> function-class: Java 단에서 사용할 클레스를 패키지 경로 포함하여 등록한다.
=> function-signature: 위에서 지정한 클레스 내에서 사용할 메서드를 등록한다.
tld 파일까지 생성 되었다면 JSP 에서 사용할 준비는 모두 끝난 상태이다.
이제 실제 JSP 페이지에서 사용해 보도록 하자.
Line 2: 만들어놓은 커스텀 태그인 tld 파일을 설정한다. prefix 는 JSP 에서 별칭으로 사용할 임의 값으로 지정한다.
Line 4: 테스트를 위해 attribute 에 "number" 라는 이름으로 숫자로된 문자열을 저장해 놓는다.
Line13: EL 을 이용해 메소드를 사용하는 예제이다.
실제 출력되는 결과는 아래와 같이 "123456789" 값에 3자리마다 콤마가 찍혀서 출력되는걸 볼 수 있다.
'Java' 카테고리의 다른 글
[초기셋팅] STS 설치 및 기본 설정 (0) | 2021.12.21 |
---|---|
JDK 1.7 이상에서 APNS 인증서 문제 (0) | 2017.07.05 |
Lombok 소개 (0) | 2017.07.05 |
소스를 입력받아 동적으로 Logic을 실행해 보자! (0) | 2017.07.05 |