jstl 문자열 배열 처리하기 / split forEach / forTokens

2016. 11. 23. 17:31language/jsp

 

 

특정 문자열을 구분자로 자른뒤 루프를 돌면서 처리할 경우가 있다.

 

jstl에서도 위와 같은 로직을 처리할 수 있는데 2가지 방법이 있다.

 

 

1. split, forEach 를 사용하는 방법

* Java의 split과 for문을 사용하는 방식과 같다.

 

2. forTokens 를 사용하는 방법

* Java의 StringTokenizer 와 while문을 사용하는 방식과 같다.

 

 

먼저 공통적으로 jsp 상단에 jstl core와 functions 를 사용하겠다고 선언한다.

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



 

1. split, forEach 를 사용하는 방법

1
2
3
<c:forEach items="${fn:split('1|2|3|4|5', '|') }" var="item">
    ${item}<br/>
</c:forEach>
cs

1# : split 으로 '1|2|3|4|5' 문자열을 '|' 기준으로 자른 뒤 반환값(문자열배열)을 forEach 반복문으로 순회한다

 



 

2. forTokens를 사용하는 방법

1
2
3
<c:forTokens items="1|2|3|4|5" delims="|" var="item">
    ${item}<br/>
</c:forTokens>
cs

1# : forTokens 의 delims 속성을 사용하여 '|' 기준으로 문자를 자르고 순회한다.

 

 

1, 2 번 결과는 다음과 같다.

1
2
3
4
5
1                                   
2                                   
3                                   
4                                   
5                                   
cs

 

아무거나 사용하면 될 것 같다 ^^