ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JSTL - <c:forEach>, <c:forTokens> 태그 사용법
    javascript 2022. 12. 7. 11:51
    728x90
    반응형
    SMALL

    <c:forEach>는 List, 배열 요소를 순서대로 반복해서 처리할 수 있는 태그 입니다.

     

     

    1. 이름 목록을 가진  ArrayList를 출력하는 예제 입니다.

     

    // 리스트를 만들어서 모델에 넣습니다.
    List<String> nameList = new ArrayList<String>(Arrays.asList("홍길동", "김철수", "박영희"));
    model.addAttribute("nameList", nameList);

    <%-- JSP 페이지에서 출력합니다. --%>
    <c:forEach var="name" items="${nameList}" varStatus="status">
        <p>${status.count} : <c:out value="${name}" /></p>
    </c:forEach>

    실행결과:
    1 : 홍길동
    2 : 김철수
    3 : 박영희
    728x90

     

    2. 객체가 들어 있는 리스트를 출력하는 방법 입니다.

     

    <c:forEach var="boardVO" items="${boardList}">
        <p><c:out value="${boardVO.title}" /></p>
    </c:forEach>

     

    위 코드는 boardVO 객체의 getTitle() 메소드를 호출한 결과를 출력합니다.

     

     

    3. Map 이 들어있는 리스트를 출력하는 방법 입니다.

     

    <c:forEach var="boardMap" items="${boardList}">
        <p><c:out value="${boardMap.title}" /></p>
    </c:forEach>

     

    위 코드는 boardMap 의 get("title") 메소드를 호출한 결과를 출력합니다.

     

     

    4. 일정 횟수의 루프를 돌면서 값을 출력하는 방법입니다.

     

    <c:forEach var="i" begin="0" end="3">
        <p><c:out value="${i}" /></p>
    </c:forEach>

    실행결과 : 
    0
    1
    2
    3

     

    위의 코드는 0부터 3까지 네 개의 값을 출력합니다.

     

    반응형

    5. 증가 단계를 지정합니다.

     

    <c:forEach var="i" begin="0" end="3" step="2">
        <p><c:out value="${i}" /></p>
    </c:forEach>

    실행결과 :
    0
    2

     

    0부터 2씩 증가하면서 출력합니다.  step는 음수를 사용할 수 없습니다.

     

     

    6. 리스트를 역으로 출력하는 예 입니다.

     

    <c:set var="size" value="${fn:length(nameList)}" />

    <c:forEach var="i" begin="1" end="${size}">
        <p><c:out value="${nameList[size - i]}" /></p>
    </c:forEach>

     

     

    7. 루프의 상태를 나타내는 varStatus 속성 사용법 입니다.

     

    <c:forEach var="name" items="${nameList}" varStatus="status">
        <p>${status.count} : ${status.index} : ${status.current}</p>
    </c:forEach>

    실행결과 :
    1 : 0 : 홍길동
    2 : 1 : 김철수
    3 : 2 : 박영희

     

    - status.index : 0부터 시작하는 루프의 인덱스 입니다.

    - status.count : 현재 몇번째 루프인지 값입니다. 1부터 시작합니다.

    - status.current : 현재 아이템입니다. var 속성의 값과 같습니다.

    - status.first : 현재가 첫번째 루프이면 참입니다.

    - status.last : 현재가 마지막 루프이면 참입니다.

    - status.begin : begin  속성을 사용했을 경우 그 값이 나옵니다.

    - status.end : end 속성을 사용했을 경우 그 값이 나옵니다.

    - status.step :  step 속성을 사용했을 경우 그 값이 나옵니다.

     

     

    8. <c:forTokens> 사용법

     

    문자열을 분리자를 사용해서 분리해서 출력할 수 있습니다.

     

    <c:forTokens  var="name" items="홍길동,김철수,박영희" delims=",">
        <p><c:out value="${name}"/></p>
    </c:forTokens>

    실행결과:
    홍길동
    김철수
    박영희

     

    728x90
    반응형
    LIST
Designed by Tistory.