[펌글][JSTL] functions

By | 5월 12, 2009

- 출처 : http://pupustory.tistory.com/175 -
- 관련 링크 : http://ngweb.tistory.com/102 -
 

1. 선언

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>  

* 중요 *
$(fn}안에선 ${}을 통한 변수 접근이 불가능 하다. 따라서 ${fn:substring(${requestScope.str},"yaho")}는 반드시 ${fn:substring(requestScope.str,"yaho")}로 사용해야 한다.

2. 용법

${fn:substring(expression, start, end)}
start에서 end까지의 인덱스만큼 문자를 가져온다. EL이므로 별도의 exception은 발생하지 않는다. 일반적으로 java로 사용 할 경우 "pupustory".substring(1,50)는 문제가 발생 할 것이다. 하지만 여기선 없음 없는데로, 있음 있는데로 출력해 준다.

${fn:toLowerCase(string)}
string를 소문자로 변환

${fn:toUpperCase(string)}
string를 대문자로 변환

${fn:trim(string)}    
string의 앞,뒤 공백(whitespace)제거 (중간의 공백은 제거하지 않음)

${fn:escapeXml(string)}
string에 XML과 HTML에서 사용하는 엔티티를 치환한다. 예를들어 '<'는 '&lt;'(맞나?)로 치환한다. 이런것은 스크립트 인젝션 등에 많이 사용 될 수 있다.

${fn:indexOf(string,substring)}
string이 가진 문자열 중 substring가 등장하는 인덱스(int)를 반환

${fn:replace(string, before, after)}
string문자열 중 before의 문자를 after문자로 치환

${fn:substringAfter(string, substring)}
string에서 substring이후부분 반환

${fn:substringBefore(string, substring)}
string에서 substring이전부분 반환

${fn:contains(string,substring)}
  substring를 포함하는지 여부(true, false)

${fn:containsIgnoreCase(string,substring)}
대소문자 구분없이 substring를 포함하는지 여부(true, false)

${fn:endsWith(string, suffix)}
string이 suffix로 끝나는지 여부(true, false)

${fn:startsWith(string, prefix)}
string이 prefix로 시작하는지 여부(true, false)

${fn:join(array, separator)}
array 컬랙션을 구분문자로 합쳐서 반환

${fn:length(item)}
컬랙션 길이(int) 반환

${fn:split(string, separator)}
string를 구분문자로 나누어 배열 반환

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments