728x90
반응형
🟰c:forEach
☀️객체의 각 요소를 순서대로 가져오는 태그다.
☀️ var : 임의의 객체명 items : 대상이 되는 객체 varStatus : 대상 객체의 상태(first,last,count,index)
☀️ begin: 시작시 값 end: 마지막 값 step : 증감수
이렇게만 봐서는 이해가 안가니 예시를 보겠다.
⏬예시 자바 소스
객체를 담기위해 먼저 java resources에서 list를 생성할 클래스를 생성합니다.
package ex06; import java.util.ArrayList; public class Test { private ArrayList<String> list =new ArrayList<>(); public ArrayList<String> getList() { return list; } public boolean add(String data) { return list.add(data); } public boolean remove(String data) { return list.remove(data); } }
⏬예시 jsp 코드
위 클래스를 객체에 담아 forEach문을 사용합니다.
☀️jsp:useBean을 통해 자동으로 객체를 생성합니다.
☀️c:if 문을 통해 가져오는 파라미터가 비어있는 경우와 값이 있는 경우를 나눠 상황에 맞게 화면을 출력합니다.
☀️forEach문을 통해 test의 getList()를 호출하여 Arraylist를 가져오고 data라는 변수에 참조시킵니다.
☀️forEach문이 반복문처럼 반복하며 내부에 있는 값을 반환합니다.
☀️st.index는 각 요소의 index값을 반환합니다.
<jsp:useBean id="test" class="ex06.Test" scope="application"/> <c:if test="${empty param.data }"> <form> <p><input type="text" name="data" placeholder="추가할 데이터 입력" ></p> </form> <ul> <!-- varStatus : first(해당 배열위 처음인가?), last(마지막인가?) ,index(0부터 시작하는 인덱스) ,count(1부터 시작하는 인덱스) --> <c:forEach var="data" items="${test.getList()}" varStatus="st"> <!-- <li>${data }</li>--> <li>${st.index} : ${data} <!-- 인덱스와 함께출력 , 인덱스를 조건으로 색이나 특수효과를 넣어줄 수 있다. --> </c:forEach> </ul> </c:if> <c:if test="${not empty param.data }"> <c:set var="list" value="${test.getList() }" /> <h3>추가결과 : ${list.add(param.data) }</h3> <a href="ex06-forEach.jsp"><button>다시 입력</button></a> </c:if>
⏬결과 화면(입력전)
⏬입력 후
728x90
반응형
'JSP' 카테고리의 다른 글
JSP - web.xml 의 index파일이 가장 먼저 출력되는 이유(예시 포함) (23) | 2023.08.11 |
---|---|
JSP - JDBC 활용순서 (예시코드 있음) (1) | 2023.08.11 |
JSP-JSTL ( <C:set>, core 태그 사용하기)2 (0) | 2023.08.09 |
JSP-JSTL ( <C:set>, core 태그 사용하기) (0) | 2023.08.08 |
JSP EL태그 종류(예시 있음) (0) | 2023.08.06 |