본문 바로가기
프로그래밍/스프링프레임워크

JSTL - <c:set> 태그 사용법

by pentode 2018. 12. 31.

<c:set> 태그는 EL에서 사용되어질 수 있는 Bean, Map등에 값을 설정을 하거나, 일반 변수를 생성해서 값을 할당 할 수 있습니다.


1. Bean에 값을 할당하는 방법


다음 빈을 예로 들어 보겠습니다.


class Board {

  private String title;

  

  public void setTitle(String title) {

    this.title = title;

  }

  

  public String getTitle() {

    return title;

  }

}


컨트롤러에서 model객체에 넣어서 JSP 에서  사용할 수 있습니다.


model.addAttribute("board", new Board());


JSP에서 위의 Bean의 프로퍼티의 값을 변경하고 싶을 때 다음 처럼 사용합니다.


<c:set target="${board}" property="title" value="제목을 변경합니다." />


<c:out value="${board.title}" />


2. Map을 사용한 경우


model.addAttribute("map", new HashMap<String, String>());

 

맵의 값을 변경합니다.


<c:set target="${map}" property="title" value="맵에 제목을 입력합니다." />


<c:out value="${map.title}" />


3. 일반적인 변수를 설정하는 방법


<c:set var="title" value="제목 입니다." />


<c:out value="${title}" />


4. JSP 스크립틀릿에서 EL에서 사용할 수 있도록 변수를 설정하는 방법


<%

String title = "스크립틀릿 제목입니다.";

pageContext.setAttribute("title", title);

%>

<c:out value="${title}" />


5. <c:set> 태그의 속성들


- value 속성 : 값을 입력합니다.  EL을 사용할 수 있습니다.

- target 속성 : 프로퍼티를 설정할 빈 또는 맵을 가집니다.

- property 속성 : 설정할 프로퍼티 입니다.

- var 속성 : 값이 저장되는 변수명 입니다.

- scope 속성 : 변수가 저장된  Scope 입니다. page, request, session, application 을 가질 수 있고, 기본값은 page 입니다.



반응형