EL 내장 객체

서희찬·2023년 12월 11일
0

웹프로그래밍

목록 보기
26/30
post-thumbnail
post-custom-banner

1️⃣ PageContext 내장 객체

  • JSP 페이지의 환경에 정보를 제공
  • PageContext는 java.servlet.jsp 패키지 내의 클래스 이름
  • PageContext클래스 내의 get으로 시작하는 메소드 호출
  • EL의 내장 객체에서 유일한 객체

PageContext 메소드

  • java.servlet.jsp 패키지의 PageContext와 동일한 8개의 get-메서드
  • java.servlet.jsp의 PageContext내의 getRequest() 메서드의 사용예
  • EL 식에 사용 시 get을 제거 후, 첫 문자를 소문자로 고친 이름 사용
    - ${pageContext.request} // getRequest() 메서드를 사용
    ${pageContext["request"]}
    - JSP 페이지의 request 내장 객체를 리턴

주요 메소드

pageContext 내장객체 사용법

${pageContext.request.requestURI}
${pageContext.request["requestURI"]}
${pageContext["request"].requestURI}
${pageContext["request"]["requestURI"]}

모두 같은 표현이다.

2️⃣ Param,paramValues 객체

Param

웹 브라우저에서<FORM>을 통해 입력된 데이터를 가져올 때 사용

  • 맴버 연산자(.) 사용
    ${param.NUM}
  • 맴버 속성 값 사용
    ${param["COLOR"]}

paramValues

<FORM>을 통해 동일한 이름으로 데이터를 여러 개 입력 시

EL 식의 인덱스는 0부터 시작

  • 맴버 연산자(.)와 배열 인덱스 사용
    ${paramValues.ANIMAL[0]}
  • 맴버 속성 값 형식과 배열 인덱스 사용
    ${paramValues["ANIMAL"][1]}

3️⃣ header,headerValues 내장 객체

HTTP 요청 메시지에 포함된 HTTP 헤더 값을 가져올 때 사용

  • 맴버 연산자(.) 사용
    ${header.Host}
  • 맴버 속성 값 형식 사용
    ${header["User-Agent"]}
  • HTTP 헤더 이름이 자바의 식별자 규칙을 따르지 않을 때는 사용 불가
    ${header.User-Agent}: 불가
    ${header["User-Agent"]}로 사용

headerValues 객체

HTTP 헤더에 둘 이상의 값이 있을 때

  • 맴버 연산자(.)와 배열 인덱스 사용
    ${headerValues.Accept[0]}
  • 맴버 속성 값 형식과 배열 인덱스 사용
    ${headerValues["User-data"][1]}

웹 브라우저가 웹 서버로 보낸 쿠키를 가져올 때 사용

  • 맴버 연산자(.) 사용 ${cookie.CART}
  • 맴버 속성 값 형식 사용 ${cookie["USER_NAME"]}
  • cookie.CART와 cookie["USER_NAME"]는 쿠키 객체

출력에는 아래 4가지 모두 가능하다.
${cookie.CART.value} ${cookie["CART"]["value"]}
${cookie.CART["value"]} ${cookie["CART"].value}

쿠키 값 이외 도메인 이름, URL 경로명, 쿠키의 수명 같은 중요한 정보 저장

주요 쿠키 값

쿠키 값 : ${cookie.CART.value} 도메인 이름 : ${cookie.CART.domain}
URL 경로명 : ${cookie.CART["path"]} 쿠키 수명 : ${cookie["CART"]["maxAge"]}

이중 사용되는건..value로 값가져오는 부분이라고 보면 된다.

5️⃣ initParam 객체

웹 애플리케이션의 초기화 파라미터 값 출력 시 사용

  • 맴버 연산자(.)로 사용 ${initParam.DB_NAME}
  • 맴버 속성 값 형식으로 사용 ${initParam.["DB_NAME"]}
profile
부족한 실력을 엉덩이 힘으로 채워나가는 개발자 서희찬입니다 :)
post-custom-banner

0개의 댓글