JSP JSTL 코어태그

MINJU KIM·2023년 12월 11일

JSP

목록 보기
24/30

코어태그 <c:set>

EL에서 사용할 변수나 자바빈즈를 생성할 때 사용한다. JSP에서 영역에 속성을 저장할 때 사용하는 setAttribute()메서드와 같은 역할이다.

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

혹은

<c:set var="변수명" scope="영역">
value 속성에 들어갈 값
</c:set>

자바빈즈나 컬렉션을 생성할 때는 target, property속성 사용

<c:set var="변수명" value="저장할 객체 혹은 컬렉션" scope="영역" />
<c:set target="var로 설정한 변수명" property="객체의 속성명" value="속성값" />
<%@ page import="java.util.Date" %>
<%@ page import="com.common.Person" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
    <title>JSTL Core set</title>
</head>
<body>
    <%-- 변수 선언--%>
    <c:set var="directVar" value="100"/>
    <c:set var="elVar" value="${ directVar mod 5}"/>
    <c:set var="expVar" value="<%= new Date()%>"/>
    <c:set var="betweenVar">변수값 이렇게 설정</c:set>

    <h2>El을 이용해 변수 출력</h2>
    <ul>
        <li>directVar : ${ pageScope.directVar }</li>
        <li>elVar : ${ elVar }</li>
        <li>expVar : ${ expVar }</li>
        <li>betweenVar : ${ betweenVar }</li>
    </ul>

    <h2>자바빈즈 생성 1 생성자 사용</h2>
<c:set var="personVar1" value='<%= new Person("박문수", 50)%>' scope="request"></c:set>
<ul>
    <li>이름: ${requestScope.personVar1.name}</li>
    <li>나이: ${personVar1.age}</li>
    </ul>

    <h2>자바빈즈 생성2 target property 사용</h2>
    <c:set var="personVar2" value="<%=new Person()%>" scope="request"></c:set>
    <c:set target="${personVar2}" property="name" value="정약용"></c:set>
    <c:set target="${personVar2}" property="age" value="60"></c:set>

    <ul>
        <li>이름: ${requestScope.personVar2.name}</li>
        <li>나이: ${personVar2.age}</li>
    </ul>
</body>
</html>

결과

0개의 댓글