1. 데이터를 post 타입으로 보내고 받기
2. tagLib 사용
- <c:set var=”” value=”” />
<c:set var="num1" value="${10}" /> <!-- int num1 = 10; -->
<c:set var="num2" value="${20}" /> <!-- int num2 = 20; -->
<p>num1 + num2 = ${num1 + num2}</p>
<c:remove var="num1"/>
<p>num1 + num2 = ${num1 + num2}</p>
- <c:forEach items=”” varStatus=”” />
<%
String[] color = {"red", "yellow", "blue"};
%>
<c:forEach items = "<%= color %>" varStatus="i">
<p>${i.count}. ${i.current}</p>
</c:forEach>
<c:forEach begin="1" end="10" step="2" var="num">
${num}
</c:forEach>
- <c:if test=””>
<c:set var="country" value="${'japan'}" />
<c:if test="${!empty country}">
country : ${country}
</c:if>
<c:if test="${empty country}">
country : 비어있음
</c:if>
<br>
<c:if test="${country == 'japan'}">
나라 : ${country}
</c:if>
<c:if test="${country != 'japan'}">
나라 : 존재X
</c:if>
- <c:forTokens item=”” delims=”” var =”” />
<c:forTokens items="아빠,엄마,오빠" delims="," var="people">
${people}
</c:forTokens>
- <c:choose>
<c:choose>
<c:when test="${color == 'red'}"> 빨간색 </c:when>
<c:when test="${color == 'blue'}"> 파란색 </c:when>
<c:otherwise>기타색</c:otherwise>
</c:choose>
- 예제) 반복하고 싶은 문구와 횟수를 매개변수로 받아서 아래에 출력한다.
```java
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<fmt:requestEncoding value="UTF-8"/>
<form submit="jstlEx3.jsp" method="post">
반복하고 싶은 문구 : <input type="text" name="str" value="${param.str}"><br>
반복하고 싶은 횟수 : <input type="text" name="num" value="${param.num}"><br>
<button type="submit">실행</button>
</form>
<c:forEach begin="1" end="${param.num}" step="1" var="i">
<p>${i}. ${param.str}</p>
</c:forEach>
</body>
</html>
```
⇒ post 방식으로 데이터를 받아오기 때문에 **<fmt:requestEncoding value="UTF-8"/>** 인코딩의 작업이 따로 필요하다. (get 방식에서는 자동으로 인코딩을 해주기 때문에 따로 인코딩의 작업을 할 필요가 없음)