반응형
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
'개발자 > 자바 & 스프링' 카테고리의 다른 글
Spring MAVEN / 스프링 메이븐, pom.xml (0) | 2023.02.23 |
---|---|
JSTL c:if (조건문), c:choose, c:forEach(반복문) (0) | 2023.02.22 |
EL / sessionScope, requestScope / 비교연산자 영문 표기 (0) | 2023.02.22 |
Action Tag / 액션 태그 / jsp:include, jsp:forward (0) | 2023.02.21 |
사진 업로드 미리보기 (0) | 2023.02.21 |
댓글