: JSP Standard Tag Library의 약어
WebContent-WEB-INF-lib에 library 파일을 넣어줘야함<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 입력
- jsp에는
 html/css/java script+java+jsp tag혼재 되어 사용됨- 개발 권장 사항은
 가급적 jsp에 순수 java 코드 최소화(<% %>사용해서 jsp 내부에 java 코드 넣는 것 비추)
<c:if test="${조건}"></c:if> : 단일 조건<c:choose><c:when test="${조건1}"></c:when><c:otherwise></c:otherwise></c:choose> : 다중 조건, 조건1 & 그외(else)<!-- jstl tag 활용을 위한 설정 -->
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!-- html 관련 태그 생략 -->
<h3>[1] 조건 tag</h3>
	
  <%-- 조건식이 하나인 경우 사용하는 tag --%>
	<c:if test="${'a'=='a'}">
		1. 조건식이 true <br>	
	</c:if>
		
	<c:if test="${'a'!='a'}">
		2. 'a' != 'a' 조건식 <br>
	</c:if>
		
  <br><hr><br>
  <%-- 다중 조건식인 경우 사용하는 tag --%>
	<c:choose>
		<c:when test="${1==1}">
			3. 1==1 인 경우 <br>
		</c:when>
		<c:when test="${1==2}">
			4. 1==2 인 경우 <br>
		</c:when>
		<c:otherwise>
			5. 모든 조건식이 false인 경우 실행 <br>
		</c:otherwise>
	</c:choose>
<c:forEach begin="시작숫자" end="끝숫자" step="간격" var="변수 이름"></c:forEach><c:forEach items="${반복할 객체}" var="변수 이름"></c:forEach>items 내부에 ${} EL tag 사용하여 객체 이름 입력해야함<!-- jstl tag 활용을 위한 설정 -->
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!-- html 관련 태그 생략 -->
<h3>[2] 반복 tag</h3>
  <%-- 숫자 반복 --%>
	<c:forEach begin="1" end="5" step="2" var="data">
		${data}-
	</c:forEach>
	
	<br><br>
	
	<c:forEach begin="1" end="5" step="2" var="data" varStatus="pd">
		순번 : ${pd.count} - 데이터 : ${data} <br>
	</c:forEach>
    
  <br><hr><br>
  
  <%-- 객체 반복 --%>
  
  <%
	Person[] v4 = {new Person("재석1", 10), 
		       new Person("재석2", 20),
		       new Person("재석3", 30),
		       new Person("재석4", 40)};
	request.setAttribute("v4", v4);
  %>
  <%-- ${data} 즉 브라우저에 출력시에도 toString 메소드가 자동 호출 --%>
	<c:forEach items="${v4}" var="data">
		${data} <br>
	</c:forEach>
	<br>
  <%-- Person 객체 안의 멤버 변수 하나씩 호출하여 출력 --%>
	<c:forEach items="${v4}" var="data">
		이름 : ${data.name} / 나이 : ${data.age} <br>
	</c:forEach>  
    
 
 <br><hr><br>
	
	
  <%
	HashMap<String, String> v7 = new HashMap<>();
	v7.put("k1","재석");
	v7.put("k2","종원");
	request.setAttribute("v7", v7);
  %>
	
  <%-- key=valye 구조로 출력 --%>
	<c:forEach items="${v7}" var="data">
		key=value 구조 : ${data} /
	</c:forEach>
	
  <br><br>
  <%-- key와 value 각각 출력 --%>
	<c:forEach items="${v7}" var="data">
		key : ${data.key} / value : ${data.value} <br>
	</c:forEach>
새로운 용어들을 와다닥 배우고 약자만 사용하다보니 슬슬 헷갈리기 시작해서 하는 용어 정리 📚
HTTPServlet 상속) 동족 웹 페이지 생성, 데이터 처리를 수행하는 자바 프로그램html tag / jsp tag / EL / JSTL로 구성됨