Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

JSP c:remove 태그로 변수 제거하기 – 사용법과 예제 총정리

JSTL의 <c:remove> 태그는 지정된 스코프(scope)에서 변수를 삭제하거나, 스코프가 지정되지 않은 경우 해당 변수가 발견되는 첫 번째 스코프에서 변수를 제거합니다. 이 태그 자체는 특별히 복잡한 기능을 수행하지는 않지만, JSP 페이지가 자신이 생성한 스코프 리소스를 확실하게 정리(cleanup)하도록 보장하는 데 유용하게 활용됩니다.

c:remove 태그의 속성

<c:remove> 태그는 다음과 같은 속성을 가집니다.

속성설명필수 여부기본값
var제거할 변수의 이름필수없음
scope제거할 변수가 존재하는 스코프선택모든 스코프

주요 속성 설명

var 속성은 필수 항목으로, 삭제하고자 하는 변수의 이름을 지정합니다. scope 속성은 선택 사항이며, page, request, session, application 중 하나의 값을 가질 수 있습니다. scope를 생략하면 JSP는 page → request → session → application 순서로 변수를 검색하여 가장 먼저 발견된 위치에서 해당 변수를 제거합니다.

사용 예제

다음은 session 스코프에 salary라는 변수를 설정한 후, <c:remove> 태그로 이를 제거하는 예제입니다.

<%@ taglib uri = "https://java.sun.com/jsp/jstl/core" prefix = "c" %>
<html>
    <head>
        <title>&lt;c:remove&gt; 태그 예제</title>
    </head>
    <body>
        <c:set var = "salary" scope = "session" value = "${2000*2}"/>
        <p>삭제 전 값: <c:out value = "${salary}"/></p>
        <c:remove var = "salary"/>
        <p>삭제 후 값: <c:out value = "${salary}"/></p>
    </body>
</html>

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

삭제 전 값: 4000
삭제 후 값:

결과에서 확인할 수 있듯이, <c:set> 태그로 session 스코프에 저장된 salary 변수의 값(4000)이 <c:out> 태그를 통해 정상적으로 출력됩니다. 그러나 <c:remove> 태그가 실행된 이후에는 해당 변수가 더 이상 존재하지 않으므로 아무 값도 출력되지 않습니다.

정리

<c:remove> 태그는 불필요해진 변수를 스코프에서 제거하여 메모리를 효율적으로 관리하고, 세션 데이터 등의 리소스를 깔끔하게 정리할 때 활용할 수 있습니다. 특히 사용자 로그아웃 처리 시 세션에 저장된 정보를 삭제하거나, 요청 처리가 끝난 후 임시 데이터를 정리하는 상황에서 유용하게 사용됩니다.