JSP의 JSTL정리(JSP Standard Tag Library)
Computer Science/JSPJSP에서 Tag를 이용해서 프로그래밍을 하기 위해서는 JSTL을 이용한다.
코어태그
- <%@tablib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>형태로 정의한다.
- if-else 또는 변수지정 같은 논리적인 처리를 위해 사용되는 스크립트 코드를 대체하기 위한 태그를 제공한다.
기능분류 | 태그 | 설명 |
변수 지원 | set | JSP에서 사용될 변수를 설정한다. |
remove | 설정한 변수를 제거한다. | |
흐름 제어 | if | 조건에 따라 내부 코드를 수행한다. |
choose | 다중 조건을 처리할 때 사용한다. | |
forEach | 컬렉션이나 Map의 각 항목을 처리할 때 사용한다. | |
forTokens | 구분자로 분리된 각각의 토큰을 처리할 때 사용한다. | |
URL 처리 | import | URL을 사용하여 다른 자원의 결과를 삽입한다. |
redirect | 지정한 경로로 리다이렉트 한다. | |
url | URL을 재작성 한다. | |
기타 태그 | catch | 익셉션 처리에 사용된다. |
out | JspWriter에 내용을 알맞게 처리한 후 출력한다. |
자세한 내용은 다음 링크 참조
함수태그
- JSTL은 EL에서 사용할 수 있는 함수 태그를 제공한다.
함수 | 설명 |
length(obj) | obj가 Conllection인 경우 저장된 항목의 개수를, 문자인 경우 문자열의 길이를 반환 |
toUpperCase(str) | str을 대문자로 변환 |
toLowerCase(str) | str을 소문자로 변환 |
substring(str, idx1, idx2) | str.substring(idx1, idx2)의 결과를 반환, idx2가 -1일 경우 str.substring(idx1)과 동일 |
substringAfter(str1, str2) | str1에서 str1에 포함되어 있는 str2 이후의 문자열을 구함 |
substringBefore(str1, str2) | str1에서 str1에 포함되어 있는 str2 이전의 문자열을 구함 |
trim(str) | str 좌우의 공백 문자를 제거 |
replace(str, src, dest) | str에 있는 src를 dest로 변환 |
indexOf(str1, str2) | str1에서 str2가 위치한 인덱스를 구함 |
startsWith(str1, str2) | str1이 str2로 시작할 경우 true, 그렇지 않을 경우 false를 반환 |
endsWith(str1, str2) | str1이 str2로 끝나는 경우 true, 그렇지 안을 경우 false를 반환 |
contains(str1, str2) | st1이 str2를 포함하고 있을 경우 true를 반환 |
containslgnoreCase(str1, str2) | 대소문자 구분없이 str1이 str2를 포함하고 있을 경우 true를 반환 |
split(str1, str2) | str2로 명시한 글자를 기준으로 str1을 분리해서 배열로 반환 |
join(array, str2) | array에 저장된 문자열을 합침, 각 문자열의 사이에는 str2가 붙음 |
escapeXml(str) | XML의 객체 참조에 해당하는 특수문자를 처리함 |
국제화태그
- <%@tablib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>형태로 정의한다.
- 특정 지역에 따라 알맞은 메시지를 출력할 경우에 사용한다.
기능분류 | 태그 | 설명 |
로케일 지정 | setLocale | Locale을 지정 |
requestEncoding | 요청 파라미터의 캐릭터 인코딩을 지정 | |
메시지 처리 | bundle | 사용할 번들을 지정 |
message | 지역에 알맞은 메시지를 출력 | |
setBundle | 리소스 번들을 읽어와 특정 변수에 저장 | |
숫자 및 날짜 포맷팅 | formatNumber | 숫자를 포맷팅 |
formatDate | Date 객체를 포맷팅 | |
parseDate | 문자열로 표시된 날짜를 분석해서 Date 객체로 변환 | |
parseNumber | 문자열로 표시된 날짜를 분석해서 숫자로 변환 | |
setTimeZone | 시간대 정보를 특정 변수에 저장 | |
timeZone | 시간대를 지정 |
커스텀태그
자세한 내용은 다음 링크 참조