JSP 어트리뷰트 Set → Get 순서

 

JSP 어트리뷰트 Set → Get 순서

JSP에서 어트리뷰트는 반드시 set이 먼저 실행된 후에 get을 사용해야 합니다.

1. 기본 순서 원칙

<%
// 1. 먼저 setAttribute로 값을 설정
request.setAttribute("userName", "홍길동");
session.setAttribute("userRole", "admin");
application.setAttribute("siteTitle", "내 웹사이트");

// 2. 그 다음에 getAttribute로 값을 가져옴
String name = (String) request.getAttribute("userName");
String role = (String) session.getAttribute("userRole");
String title = (String) application.getAttribute("siteTitle");
%>

2. 스코프별 어트리뷰트 순서

Request 스코프:

<%
// 설정 (Servlet이나 이전 JSP에서)
request.setAttribute("data", "요청 데이터");

// 사용 (현재 JSP에서)
String data = (String) request.getAttribute("data");
%>

Session 스코프:

<%
// 설정 (로그인 시)
session.setAttribute("user", userObject);

// 사용 (다른 페이지에서도 가능)
User user = (User) session.getAttribute("user");
%>

Application 스코프:

<%
// 설정 (애플리케이션 시작 시)
application.setAttribute("config", configData);

// 사용 (모든 사용자가 공유)
Config config = (Config) application.getAttribute("config");
%>

3. 주의사항

  • null 체크: get 전에 해당 어트리뷰트가 설정되었는지 확인
  • 타입 캐스팅: getAttribute()는 Object를 반환하므로 적절한 타입으로 캐스팅 필요
  • 생명주기: 각 스코프의 생명주기를 고려하여 사용