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를 반환하므로 적절한 타입으로 캐스팅 필요
- 생명주기: 각 스코프의 생명주기를 고려하여 사용
'JSP' 카테고리의 다른 글
| 6월 2일 시험준비 (0) | 2025.06.02 |
|---|---|
| JSP 출력 <%= %> ${ } out.print(); (0) | 2025.05.30 |
| JSP 00 문제 (0) | 2025.05.30 |
| chapter10. 보안. 서버 설정 (0) | 2025.05.29 |
| 이클립스에서 인코딩 변경 파일 우클릭 → "속성(Properties)" → "리소스(Resources)" → "텍스트 파일 인코딩"을 UTF-8로 변경 (0) | 2025.05.28 |