반응형
<c:forEach items="${list}" var="list" varStatus="i">
    <tr>
        <td>${list.name }</td>   
        <td>${list.age }</td>   
    </tr>
</c:forEach>

JSP 작성을 하다보면 위 형태로 List 배열 데이터를 넘겨받고 해당 데이터를 파싱하기 위해 forEach를 사용해서 파싱하는 경우가 종종 있다.

 

단순하게 데이터를 출력할때는 변수처리한 var= 값으로 넘기면 쉽게 해결되지만, 종종 자바연산 등을 해서 파싱해야 하는 경우 pageContext.getAttribute("변수값"); 을 통해 처리가 가능하다.

 

사용예시)

<c:forEach items="${list}" var="list" varStatus="i">
    <tr>
        <td>${list.name }</td>
        <td>${list.age }</td>
        <td>
            <%
            UserVO user = (UserVO) pageContext.getAttrinbute("list");
            out.print(user.getDt());
            %>
        </td>
    </tr>
</c:forEach>

연산 로직은 없지만 스크립틀릿(<% %>) 태그를 선언하고 pageContext를 통해 현재의 변수값 list의 데이터값을 VO객체에 넘긴다.

 

이후 원하는 연산 작업(일자계산) 등을 하고 out.print()메소드를 통해 결과 변수를 입력하면 동일하게 jstl내부에서 스크립틀릿을 통해 자바연산까지 사용이 가능하다.

반응형