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>
기준잔고 : ₩<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>