JSTL(JavaServer Pages Standard Tag Library)의 <c:set> 태그는 JSP 표준 액션인 setProperty의 JSTL 친화적인 대체 버전입니다. 이 태그는 표현식을 평가한 후, 그 결과값을 JavaBean 또는 java.util.Map 객체의 값으로 설정할 때 매우 유용하게 사용됩니다.
<c:set> 태그의 주요 속성
<c:set> 태그는 다음과 같은 속성들을 제공합니다.
| 속성 | 설명 | 필수 여부 | 기본값 |
|---|---|---|---|
| value | 저장할 정보(값) | 아니오 | body 내용 |
| target | 속성을 수정할 대상 변수의 이름 | 아니오 | 없음 |
| property | 수정할 속성명 | 아니오 | 없음 |
| var | 정보를 저장할 변수의 이름 | 아니오 | 없음 |
| scope | 변수가 저장될 범위(scope) | 아니오 | Page |
주의: target 속성을 지정하는 경우, property 속성도 반드시 함께 지정해야 합니다.
사용 예제
다음은 <c:set> 태그를 사용하여 표현식의 계산 결과를 세션 범위(session scope)의 변수에 저장하고 출력하는 예제입니다.
<%@ taglib uri = "https://java.sun.com/jsp/jstl/core" prefix = "c" %>
<html>
<head>
<title><c:set> Tag Example</title>
</head>
<body>
<c:set var = "salary" scope = "session" value = "${2000*2}"/>
<c:out value = "${salary}"/>
</body>
</html>위 코드는 EL 표현식 ${2000*2}를 평가하여 그 결과인 4000을 session 범위의 salary 변수에 저장합니다. 이후 <c:out> 태그를 통해 해당 값을 화면에 출력합니다.
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
4000