코딩기록 저장소 🐕/JSP

JSP jstl

kimkongmom 2023. 9. 15. 12:48

 

 

 

 

<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