JSTL은 태그를 이용하여 JSP 코드를 관리하고 개발을 쉽게 해주는
태그 라이브러리입니다.
라이브러리이기 때문에 추가로 다운로드 받아서 사용합니다
그리고 JSP 페이지에서 아래의 세줄을 선언해줘야 합니다.
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
태그의 종류에는 core, format, function, xml, sql이 있습니다.
각 태그의 속성들은 양이 방대하기 때문에 공식문서로 대체하고
자주 사용되는 예제들만 추려보겠습니다.
<c:set>
- 변수를 선언하는 태그입니다.
<c:set var="변수이름" value="값"/>
- 이렇게 선언하면 ${ 변수이름 }으로 사용할 수 있습니다.
- 기본 scope는 pageScope입니다.
<c:remove>
- 변수를 제거하는 태그입니다.
<c:remove var="변수이름"/>
- 특정 영역의 변수만 제거하고 싶다면
<c:remove var="변수이름" scope="request"/>
사용예제
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%-- JSTL (JSP Standard Tag Library) : Java 언어를 태그로 사용하여 쓸 수 있다.
CORE, XML, FMT, SQL, Function과 같은 기능들이 있다.
JSTL은 위에 taglib을 선언해줘야 사용할 수 있다.
싱글톤이다.
--%>
<h3> 변수 선언</h3>
<c:set var="su" value="10"/>
<c:set var="imsi" value=" ${20}"/>
<h3>${ su } / ${ imsi }</h3>
<c:set var="msg" value="${'Hi'}" scope="page"/>
<%-- scope를 명시해서 데이터가 살아있는 범위를 정할 수 있다
page(기본값), request, session, application--%>
<c:set var="age" value="23"/>
<div>
메시지 : ${ msg } <br>
나이 : ${ age }
</div>
<br><br>
<%-- Member 객체를 c:set을 이용하여 각 속성값을 setter 해줘서
데이터를 삽입해준다. --%>
<jsp:useBean id="member" class="com.java.el.MemberInfo"/>
<c:set target="${member}" property="name" value="홍길동"/> <%--value = ${param.name} --%>
<c:set target="${member}" property="id" value="abc123"/>
<c:set target="${member}" property="pwd" value="1234"/>
<h3>${member.name}</h3>
<h3>${member.id}</h3>
<c:set var="id" value="${member.id}" scope="session"/> <%-- 세션스코프로 등록하여 세션으로 이용가능 --%>
<h3>${member.pwd}</h3>
<h3>${sessionScope.id}</h3>
<br><br>
<h3>변수제거</h3>
<c:remove var="age"/> <%-- remove는 기본값으로 이페이지에서만 데이터를 지운다 --%>
<c:remove var="id" scope="session"/> <%-- 세션스코프를 지정해주면 세션을 지운다 --%>
<div>${age}, ${id}</div>
</body>
</html>
'WEB > Servlet,JSP' 카테고리의 다른 글
서블릿에 MyBatis 적용하기 (0) | 2020.07.14 |
---|---|
JSP의 표현언어 EL이란? (0) | 2020.06.11 |
컨텍스트 리스너(Context Listener)란?? (0) | 2020.06.10 |
쿠키(Cookie)와 세션(Session) (0) | 2020.06.09 |
sendRedirect, include, forward의 차이점 (0) | 2020.06.09 |