728x90
반응형

<c:set> 태그

<c:set>은 변수를 선언하고 나서 그 변수에 초기값을 대입하는 기능의 태그로, 자바에서 변수를 선언하는 방법과 비슷함

 

Java 변수 선언 방식

변수타입 변수명 = 초기값;

int  num = 100;

 

<c:set> 변수 선언 방식

<c:set  var=“변수명” value=“초기값” />

<c:set  var=“num” value=“100” />

 

 

<c:set> 사용법

<c:set>에서의 변수 타입은 별도로 선언하지 않음

초기값은 반드시 기술해야 함

 <c:set>으로 선언한 변수는 EL 식 안에서 사용할 수 있지만 JSP <% %> 같은 스크립트릿 요소에서는 사용할 수 없음

<c:set var="num" value="100" />
…
//<c:set> 에서 선언한 변수는 EL식 안에서 사용가능함
${num}

 <c:set>에서 선언한 변수를 JSP 스크립팅 요소에서 쓰는 것은 불가능하지만, 반대로 스크립팅 요소 안에서 선언한 변수를 <c:set> 의 value 속성에 사용하는 것은 가능함

<% int num1=10, num2=20; %>
//JSP 스크립트 요소의 변수를 value 속성에서 사용할 수 있음
<c:set var=“sum" value=“<%= num1+num2 %>" />
${sum}

 

 

<c:set> 실습

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%>
<!DOCTYPE html>
<html> 
	<head>
		<meta charset="UTF-8">
		<title>JSTL Core 실습</title> 
	</head> 
	<body> 
		<h2>JSTL Core Tags 실습</h2> 
		<hr> 
		<c:set var="num1" value="10"/> 
		<c:set var="num2" value="20"/> 
		<ol> 
			<li>&lt;c:set&gt; 테스트 : ${num1} + ${num2} = ${num1 + num2}</li> 
		</ol> 
	</body> 
</html>

 

 

<c:set> 태그 scope 속성

<c:set> 의 scope 속성을 이용하면 page 영역 뿐맊 아니라 request, session, application 영역에 속성을 저장하는 것이 가능함

설정하지 않을 시 기본값은 page임

< c:set var="num" value="100" scope="request" />

 

 

<c:set> 태그 배열 설정

<c:set> 의 body 부분에 "," 를 이용해서 배열이나 Collection 과 같이 여러 개의 값을 지정할 수 있음

<c:set var="array" scope="request" >
	//<c:set> 태그의 body에 있는 값이 array 변수에 할당된 변수 값이 된다
	yellow, blue, pink, red, green
</c:set>

 

반응형
복사했습니다!