일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 날짜
- null
- 톰캣
- HTML5
- maven
- spring form tag
- 스크립트
- jquery
- 문자열
- DB
- RADIO
- SSL
- java
- @RequestBody
- Oracle
- JSTL
- 한글
- switch
- json
- 이클립스
- checbox
- 네이버스마트 에디터
- 호환성
- 전자정부 표준프레임워크
- exception
- html
- 오라클
- 웹 플랫폼 설치 관리자
- php
- MYSQL
- Today
- Total
개인적인 정리
JSP 커스텀 태그 (JSP Custom Tag) 예제 본문
JSP단에서 자주 쓰는 함수들(EL로는 불편한)을 따로 정의하여 사용할 수가 있다.
전자정부표준프레임워크3.9를 기준으로 간단하게 하나의 예제를 만들어보고자 한다.
1. Custom Tag 로 사용할 클래스를 하나 만들어준다.
여기서는 EgovStringUtil 클래스를 사용하기로 한다.(이미 전자정부표준프레임워크내에 만들어져 있는 클래스이다.)
패키지명은 egovframework.com.utl.fcc.service 이다.
2. tld 파일을 추가한다.
여기서는 /src/main/webapp/WEB-INF/tlds 에 tld파일을 추가한다. 이미 해당폴더는 egovc.tld 파일이 있다.
파일의 내용은 아래와 같다. (여기서는 util.tld 라는 파일명으로 추가하였다.)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<?xml version="1.0" encoding="UTF-8"?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<description>Util library</description>
<display-name>Util</display-name>
<tlib-version>1.0</tlib-version>
<short-name>CmnUtil</short-name>
<uri>/WEB-INF/tld/util.tld</uri>
<function>
<description>문자열이 지정한 길이를 초과했을때 지정한길이에다가 해당 문자열을 붙여주는 메서드</description>
<name>cutString</name>
<function-class>egovframework.com.utl.fcc.service.EgovStringUtil</function-class>
<function-signature>java.lang.String cutString(java.lang.String, java.lang.String, int)</function-signature>
<example>
${CmnUtil:cutString(java.lang.String source, java.lang.String output, int slength)}
</example>
</function>
</taglib>
|
cs |
간단히 기술해보면(부정확할 가능성도 있는 설명이다. 대략 짐작으로 적어넣었다.)
<description>Util library</description>
- 적당히 기술한다. util.tld에 대한 description 으로 생각했다.
<display-name>Util</display-name>
- 적당히 기술한다. util.tld 에 대한 display-name 정도로 생각하였다.
<tlib-version>1.0</tlib-version>
- 적당히 기술한다. util.tld에 대한 관리버전정도로 생각하였다.
<short-name>CmnUtil</short-name>
- 적당히 기술한다. 기억하기 좋은 것이면 좋겠다 싶었다.
<uri>/WEB-INF/tld/util.tld</uri>
- util.tld의 위치정도로 생각하였다.
<function></function> 사이를 살펴보자.
<description></description>
- 메소드에 대한 설명쯤으로 생각하였다.
<name></name>
- 메소드명으로 생각하였다.
<function-class>egovframework.com.utl.fcc.service.EgovStringUtil</function-class>
- 클래스명(패키지명을 포함한)으로 생각하였다.
<function-signature>java.lang.String cutString(java.lang.String, java.lang.String, int)</function-signature>
- 함수명 + @로 생각하였다.
- 여기서 String 만 쓰면 안되고 java.lang.String 을 써야만 하였다.
- int 는 그냥 int 만 사용이 가능하였다.
<example></example>
- 함수의 사용법 정도로 생각하였다.
3. JSP 파일을 수정한다.
1
|
<%@ taglib uri="/WEB-INF/tlds/util.tld" prefix="CmnUtil"%>
|
cs |
상단에 위와 같이 추가해준다.
4. 원하는 곳에 아래와 같이 적용한다.
1
|
<c:out value="${CmnUtil:cutString(result.subject, '....', 40)}"/>
|
cs |
3번의 prefix 값과 4번의 CmnUtil 은 뭘로 쓰던 동일해야 한다.
이상없이 잘 나오므로 Done.
'전자정부표준프레임워크' 카테고리의 다른 글
이클립스 + TOMCAT 에서 SSL 설정으로 https 테스트 (0) | 2021.01.26 |
---|---|
전자정부표준프레임워크에서 엑셀 다운로드 (0) | 2020.10.06 |
이클립스 초기 설정 (0) | 2020.09.22 |
전자정부표준프레임워크 paging 추가하기 (1) | 2020.09.17 |
전자정부표준프레임워크 validation Rule 추가 (0) | 2020.09.09 |
전자정부표준프레임워크 validation 검증/체크 (0) | 2020.09.06 |
RedirectAttributes(redirect 객체 전달) (0) | 2020.09.03 |
Redirect와 Forward 의 차이 (0) | 2020.09.03 |