반응형
💡 Core 라이브러리
JSTL의 core 라이브러리를 사용하기 위해서는 JSP 파일 상단에 코드를 선언합니다.
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
📖 <c:set> : 변수에 값을 저장
변수저장소(사용범위)
page(현재페이지) < request < session < application(전체프로그램)
사용법 : <c:set var="변수명" value="값" scope="page"(scope는 생략가능, 기본이 page)/>
📌 사용 예제
<%-- TODO : jstl 표현식--%>
<p><c:set var="num" value="10" scope="page"/></p>
<p><c:set var="num2" value="10" scope="page"/></p>
<p><c:set var="total" value="${num + num2}" scope="page"/></p>
<%-- TODO : el 표현식--%>
<p>${num}</p>
<p>${num2}</p>
<p>${total}</p>
📌 결과
📖 <c:forTokens> : 문자열 구분자로 구분하여 전체 출력하기
사용법 :
<c:forTokens items="문자열" delims="구분자" var="변수명">
실행문
</c:forTokens>
📌 사용예제
<c:forTokens items="1/2/3" delims="/" var="number">
<h2>토큰 : ${number}</h2>
</c:forTokens>
📌 실행결과
📖 <c:catch> : try ~ catch 예외처리
사용법 :
<c:catch var="에러변수"> 실행문 </c:catch>
실행문이 에러 발생하면 에러변수에 메세지가 들어감
📌 사용예제
<c:set var="num3" value="20" />
<c:catch var="err">
<h2>${num3}</h2>
</c:catch>
<c:if test="${not empty err}">
에러 메세지 : ${err.message}
</c:if>
📌 실행결과
📖 <c:redirect> : 페이지 강제이동
<c:redirect url="이동할_url주소" />
📖 <c:import> : 공통페이지 끼워 넣기
<c:import url="보여줄페이지" />
📌 사용예제
📖 <c:url> : url로 페이지 이동하기
<c:url value="url주소" var="변수명" />
[사용]
<a href="${변수명}">표시할내용</a>
📌 사용예제
💡 Function 라이브러리
fn 라이브러리를 사용하기전 상단 코드 선언
fn 라이브러리는 el 표현식과 함께 사용합니다.
<%--TODO: fn lib import--%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%-- TODO: fmt lib import--%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
📌 변수 선언
<c:set var="chars" value="안녕하세요 홍길동입니다. Bye"/>
<c:set var="name" value="홍길동"/>
📖 fn:contains(string, substr)
string이 substr을 포함하면 return true 없으면 false return
<h2>indexOf : ${fn:indexOf(chars,"홍길동")}</h2>
📖 fn:indexOf(string, substr)
string 문자열에 "substr" 값이 있는 index 번호를 return
<h2>indexOf : ${fn:indexOf(chars,"홍길동")}</h2>
📖 fn:length(string)
전체 길이를 리턴
<h2>length : ${fn:length(chars)}</h2>
📖 fn:replace(string, "기존문자열", "바꿀문자열")
string 문자열에서 기존문자열을 바꿀문자열로 변경
<h2>replace : ${fn:replace(chars,"홍길동","장길산")}</h2>
📖 fn:split(string, 구분자)
string에서 구분자로 문자열 자르기, 리턴은 배열
<h2><c:set var="sChar" value='${fn:split(chars, "")}'/></h2>
<h2>${sChar[0]}</h2>
<h2>${sChar[1]}</h2>
<h2>${sChar[2]}</h2>
📖 fn:substring(string, 시작인덱스번호, 끝인덱스번호)
string 문자열에서 시작인덱스에서 끝인덱스번호-1까지 자르기
<h2>substring : ${fn:substring(chars,0 ,6)}</h2>
📖 fn:toLowerCase/toUpperCase(string)
대소문자 바꾸기
<h2>toLowerCase : ${fn:toLowerCase(chars)}</h2>
<h2>toUpperCase : ${fn:toUpperCase(chars)}</h2>
💡 fmt(format) 라이브러리
fmt 라이브러리는 날짜,시간, 숫자 텍스트를 포멧하고 표시하는 fomatter 기능을 제공합니다.
📌 변수선언
<c:set var="numtest" value="1234567890"/>
📖 fmt:formatNumber : 세 자리마다 쉼표(,) 추가하여 출력
<h2><fmt:formatNumber value="${numtest}"/> </h2>
1) 숫자에 통화 추가 : value 뒤에 type="currency" 추가
<h2>formatNumber : <fmt:formatNumber value="${numtest}" type="currency"/></h2>
📖 날짜 포멧 주기
날짜 포멧을 주기위해서는 스크립틀릿을 사용합니다. 스크립틀릿은 과거 코딩기법이라 사용은 하지 않습니다.
<%
자바코딩 가능
%>
<%
Date date = new java.util.Date();
%>
<%-- TODO: 화면 출력시 : <%=변수명%>--%>
<h2><%=date%></h2>
<c:set var="today" value="<%=new java.util.Date()%>" />
<h2><fmt:formatDate value="${today}" pattern="yyyy-MM-dd hh:mm:ss" /> </h2>
반응형
'Spring Boot > 스프링부트 예제' 카테고리의 다른 글
JPA 상세조회, 저장함수, 수정함수, 삭제함수 (0) | 2023.10.17 |
---|---|
JPA를 활용한 CRUD 구현하기 (0) | 2023.10.16 |
파라미터 방식의 매개변수 전달 어노테이션 (0) | 2023.10.05 |
객체 형태로 변환하는 어노테이션 (0) | 2023.10.05 |
JSP의 조건문 (1) | 2023.10.05 |