FrontEnd/JSP (JavaServerPage)

JSP JSTL(JSP Standard Tag Library)

H_Develop 2022. 8. 25. 08:52

JSTL(JSP Standard Tag Library)
연산이나 조건문이나 반복문인 if 문, for 문, DB관리 등 편하게 처리할 수 있다.

필요한 라이브러리를 정리해줘야함
C:\UI-1\apache-tomcat-8.5.81\webapps\examples\WEB-INF\lib
impl, spec 두가지 파일을 복사 (자바 실행파일)
C:\UI-1\apache-tomcat-8.5.81\lib
위 폴더에 두가지 파일을 넣기

 

 

 

 

JSTL_test1.jsp

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.Date" %>

<!DOCTYPE html>
<!-- c(Core) : if, choose, forEach와 같은 제어문을 사용하게 해주는 라이브러리 -->
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<% 	// 현재 년/월/일/시/분/초
	Date today = new Date();
	int money = 120000000;
	// pageScope영역에 값을 저장
	pageContext.setAttribute("today", today);
	pageContext.setAttribute("money", money);
	// 배열
	String[] fruit_array = {"사과", "배", "포도", "참외"};	
	pageContext.setAttribute("fruit_array", fruit_array);
%>
<body>
<!-- choose 영역 내부에는 주석을 달지 말 것!!! -->
	<c:choose>
		<c:when test="${ param.msg eq 10 }">나는 10이야</c:when>
		<c:when test="${ param.msg eq 11 }">나는 11이야</c:when>
		<c:otherwise>모두 아니야</c:otherwise>
	</c:choose>
   JSTL의 forEach와 if 문
	<ul>	
		<!-- var : 한 바퀴 돌 때마다 변화된 begin의 값을 갱신
			begin : 시작값
			end : 끝값
			step: 증가값-->
		<c:forEach var="n" begin="1" end="5" step="1">		
			<c:if test="${n % 2 == 1}"> <!-- ${n mod 2 eq 1} 홀수라면, -->
				<li><font color=red>안녕(${n})</font></li>
			</c:if>
			<c:if test="${n % 2 == 0}">
				<li><font color=green>안녕(${n})</font></li>
			</c:if>
		</c:forEach>
	</ul>
	<hr>
	JSTL의 Fmt(날짜, 숫자)<br>
	<fmt:formatDate value="${today}"/><br>
	<fmt:formatDate value="${today}" pattern="YYYY년 MM월 dd일"/><br>
	기준잔고 : &#8361;<fmt:formatNumber value="${money}"/>원
	<hr>
	배열을 출력하는 forEach 문
	<ul>	<!-- for(String fruit : fruit_array) for의 확장문 패턴 -->
		<c:forEach var="fruit" items="${fruit_array}">			
			<li> ${fruit} </li>
		</c:forEach>
	</ul>

</body>
</html>