본문 바로가기
Dev/Java

JSTL - 코어 태그 <c:set>, <c:remove>

by vellahw 2022. 9. 21.

 

 

코어 태그 라이브러리는 if-else나 변수의 지정등과 같이 논리적인 처리를 위해 사용되는 스크립트 코드를 대체하기 위한 태그를 제공한다.

 

코어 태그 라이브러리
기능 분류 태그
변수지원 set
remove
흐름 제어 if
choose
forTokens
URL 처리 import
redirect
url
기타 태그 catch
out

 

코어 태그 라이브러리를 사용하려면 JSP 페이지에 taglib 디렉티브를 추가 해주어야 한다.

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

 

 

*예제를 위한 클래스 생성

package jstl;

public class Member {
	private String name;
	
	public String getName() {
		return name;
	}
	
	public void setName(String name) {
		this.name = name;
	}
}

 

 


 

 1. 변수 지원 태그 <c:set>과 <c:remove>

 1-1. <c:set> 태그

<c:set> 태그는 EL의 변수의 값이나 EL 변수의 프로퍼티 값을 지정할 때 사용된다.

 

 1) EL 변수 생성 (생성 또는 변경)

<c:set var="변수명" value="값" [scope="영역"] />
<c:set var="변수명" value="값" [scope="영역"] >값</c:set>

 

 2) 특정 EL 변수의 프로퍼티 값 설정

<c:set target="대상" property="프로퍼티이름" value="값" />
<c:set target="대상" property="프로퍼티이름">값</c:set>

 

*예제

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ page import="jstl.Member" %>
<%@ page import="java.util.HashMap" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%
	Member member = new Member();
	HashMap<String, String> pref = new HashMap<String, String>();
%>
<html>
<head>
<title>c:set 태그 사용</title>
</head>
<body>
<c:set var="member" value="<%= member %>" />
<c:set target="${member}" property="name" value="코딩코"></c:set>

<c:set var="pref" value="<%= pref %>"/>
<c:set var="favoriteColor" value="#{pref.color}" />

회원 이름: ${member.name},
좋아하는 색: ${favoriteColor}

<br/>
<c:set target="${pref}" property="color" value="red" />

설정 이후 좋아하는 색: ${favoriteColor}

</body>
</html>

실행 결과

 

favoriteColor라는 변수에 color 값을 넣어주지 않아 좋아하는 색의 값을 출력하지 않지만

<c:set target="${pref}" property="color" value="red" /> 코드를 입력 해 프로퍼티 값을 설정해서 호출하면 입력해준 프로퍼티 값을 출력 할 수 있다.

 

 

1-2. <c:remove> 태그로 변수 삭제

<c:remove var="varName" [scope="영역"] />

scope를 지정하지 않으면 동일한 이름으로 저장된 모든 영역의 변수를 삭제한다.

 

 

 

댓글