본문 바로가기
개발자/자바 & 스프링

JSTL 태그 종류, 기본 문법, <c:set> , <c:out>, <c:remove> 코어 태그

by mansfield 2023. 2. 22.
반응형



JSTL <c:set> , <c:out>, <c:remove>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	
	<h1>JSTL 기본문법 사용</h1>
	<h3>1. 변수 선언(기본값으로 변수를 선언하는 경우 해당 페이지에서만 사용 가능)</h3>
	<c:set var="var1" value="1" />
	<c:set var="var2" value="hello" />
	<p>request : ${requestScope.var1 }</p>	-> 아무것도 안나옴
	<p>session : ${sessionScope.var1 }</p>	-> 아무것도 안나옴
	
	<p>해당 페이지에서만 사용 가능하므로 pageScope 사용해야함 or 생략가능 </p>
	<p>page : ${pageScope.var1 }</p>		->	1
	<p>page : ${pageScope.var2 }</p>		->	hello
	
	<h3>2. 변수 선언(사용 범위 지정)</h3>
	<c:set var="num1" value="10" scope="session" />
	<c:set var="num1" value="100" scope="request" />
	<p>request : ${num1 }</p>		-> 10
	<p>session : ${sessionScope.num1 }</p>	-> 100
	
	<h3>3. 변수 삭제(scope에 명시된 영역의 변수를 삭제)</h3> 
	<c:remove var="num1" scope="session"/>
	<p>request : ${requestScope.num1 }</p>	-> 10
	<p>session : ${sessionScope.num1 }</p>	-> 삭제되어 안나옴 
	
	<h3>4. core를 이용한 출력</h3>
	<p>request : ${requestScope.num1 }</p>	-> 10
	<p>session : ${sessionScope.num1 }</p>	-> 100
	<p>request(core) : <c:out value="${requestScope.num1 }" default="없음" /></p>	-> 10
	<%-- c:out의 default로 인해 ${sessionScope.num1 }의 값이 없을때 "없음"이라는 문자열 출력됨 --%>
	<p>session(core) : <c:out value="${sessionScope.num1 }" default="없음" /></p>	-> 없음
	
	<c:set var="test" value="<b>진한글씨</b>" />
	<p>case1 : ${pageScope.test }</p>					-> 볼드체로 진한글씨
	<p>case2 : <c:out value="${pageScope.test }" escapeXml="true" /> </p>	-> <b>진한글씨</b>
	<p>case3 : <c:out value="${pageScope.test }" escapeXml="false" /> </p>  -> 볼드체로 진한글씨
	escapeXml="true" 설정시 태그가 적용되지 않고 문자 그대로 나옴
	
	
</body>
</html>

 

 

300x250

댓글