<c:set> 태그
1. 속성(Attribute)을 저장할 때 사용한다.
2. binding 영역을 지정할 수 있다. (디폴트는 pageContext에 저장임)
영역 : 작성방법
1) pageScope : page
2) requestScope : request
3) sessionScope : session
4) applicationScope : application
3. 형식
<c:set var="속성명" value="값" scope="binding영역"/>
1
2
3
4
5
6
7
8
9
10
|
<%-- 속성 저장하기 --%>
<c:set var="age" value="30"/> <%-- pageContext.setAttribute("age", 30) --%>
<c:set var="isAdult" value="${age >= 20}"/>
<div>나이 : ${age}살</div>
<div>${isAdult ? "성인" : "미성년자"}</div>
<%-- 앞으로 자주 사용할 c:set --%>
<c:set var="contextPath" value="${pageContext.request.contextPath}"/>
<div>${contextPath}</div>
|
cs |
<c:if>
1. if문이다.
2. else문이 없다.
3. 형식
<c:if test="조건식">
실행문
</c:if>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<c:set var="age" value="30"/>
<c:if test="${age >= 20}">
<div>성인</div>
</c:if>
<c:if test="${age < 20}">
<div>미성년자</div>
</c:if>
<c:set var="score" value="100"/>
<c:if test="${score >= 90 and score <= 100}"><c:set var="grade" value="A"/></c:if>
<c:if test="${score >= 80 and score <= 90}"><c:set var="grade" value="B"/></c:if>
<c:if test="${score >= 70 and score <= 80}"><c:set var="grade" value="C"/></c:if>
<c:if test="${score >= 60 and score <= 70}"><c:set var="grade" value="D"/></c:if>
<c:if test="${score >= 0 and score <= 60}"><c:set var="grade" value="F"/></c:if>
<div>${score}점, ${grade}학점</div>
</body>
</html>
|
cs |
<c:choose>
1. <c:if> 태그를 대체할 수 있다.
2. else if, else 문 처리가 가능하다.
3. 형식
<c:choose>
<c:when test="조건식">
실행문
</c:when>
<c:when test="조건식">
실행문
</c:when>
<c:otherwise>
실행문
</c:otherwise>
</c:choose>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<c:set var="age" value="20"/>
<c:choose>
<c:when test="${age < 8 }">
<c:set var="result" value="미취학아동"/>
</c:when>
<c:when test="${age < 14 }">
<c:set var="result" value="초등학생"/>
</c:when>
<c:when test="${age < 17 }">
<c:set var="result" value="중학생"/>
</c:when>
<c:when test="${age < 20 }">
<c:set var="result" value="고등학생"/>
</c:when>
<c:otherwise>
<c:set var="result" value="성인"/>
</c:otherwise>
</c:choose>
<div>${age}살, ${result}</div>
|
cs |
<c:forEach>
1. 반복문을 처리한다.
2. 형식
1) 일반 for문
<c:forEach var="속성" begin="시작값" end="종료값" step="증가값">
${속상}
</c:forEach>
2) 향상 for문
<c:forEach var="요소" items="배열 or 리스트">
${요소}
</c:forEach>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
<c:forEach var="num" begin="1" end="5" step="1">
<div>${num}</div>
</c:forEach>
<hr>
<%-- <c:forEach> 태그와 배열 --%>
<%
String[] season = {"봄", "여름", "가을", "겨울"};
pageContext.setAttribute("season", season);
%>
<c:forEach var="season" items="${seasons}" varStatus="vs">
<div>인덱스 : ${vs.index}</div>
<div>요소 : ${season}</div>
</c:forEach>
<%-- <c:forEach> 태그와 리스트 --%>
<%
List<String> jobs = Arrays.asList("PM", "기획자", "개발자", "퍼블리셔");
pageContext.setAttribute("jobs", jobs);
%>
<c:forEach var="job" items="${jobs}" varStatus="vs">
<div>인덱스 : ${vs.index}</div>
<div>직업 : ${job}</div>
</c:forEach>
<%-- 임의의 BlogPost 3개를 List에 저장하고 화면에 출력하기 --%>
<%
List<BlogPost> list = Arrays.asList(
new BlogPost(1, "여행", 23, LocalDate.of(2023, 9, 3)),
new BlogPost(2, "취미", 12, LocalDate.of(2023, 9, 14)),
new BlogPost(3, "음식", 21, LocalDate.of(2023, 9, 11))
);
pageContext.setAttribute("list", list);
%>
<c:forEach var="blogPost" items="${list}">
<div class="blog">
<span class="blogPostNo">${blogPost.blogPostNo}</span>
<span class="title"><a href="">${blogPost.title}</a></span>
<span class="hit">${blogPost.hit}</span>
<span class="createdAt">${blogPost.createdAt}</span>
</div>
</c:forEach>
|
cs |
'코딩기록 저장소 🐕 > JSP' 카테고리의 다른 글
mvc pattern (0) | 2023.09.18 |
---|---|
jsp session 로그인 장바구니 cookie (0) | 2023.09.18 |
JSP Lombok (0) | 2023.09.15 |
JSP 내장객체 (0) | 2023.09.14 |
JSP (0) | 2023.09.14 |