반응형

💡 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>

반응형

+ Recent posts