ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 표현 언어(Expression Language)
    TEMPLATE/JSP 2023. 5. 2. 18:06
    1. 표현 언어 기능
      • JSP 내장 객체의 영역에 담긴 속성을 사용할 수 있다
      • 산술 연산, 비교 연산, 논리 연산이 가능하다
      • 자바 클래스에 정의된 메서드를 호출할 수 있다
      • 표현 언어만의 객체를 통해 JSP와 동일한 기능을 수행할 수 있다.
    2. 기본 사용법
      • ${ 속성 }
      • <h2>${ requestScope.saveVar }</h2>
      • <c:set var="elVar" value="${ elvar }"/>
        <jsp:include page="${ pathVar }"/>
      • <%! void myMethod(${ errorVar }) { // 코드 } %>
      • <%@ include file="${ errorVar }"%>
      • <%= ${ errorVar } %>
    3. 객체 표현 방식
      • EL에서 객체를 표현할 때는 .(점) 이나 [](대괄호)를 사용합니다.
        • ${ param.name }
        • ${ param["name"] }
        • ${ param['name'] }
      • 속성명에 특수 기호나 한글이 포함 되었을 때는 대괄호만 사용할 수 있다.
        • ${ header["user-agent"] }
        • ${ King['한글'] }
      • 대괄호를 사용할 때 속성명에는 "(큰따옴표)와 '(작은따옴표) 모두 사용할 수 있다.
    4. EL의 내장 객체
      1. 4가지 영역에 속성값 저장하고 읽어오기
        1. EL에서 4가지 영역에 접근하기 위한 내장 객체
          1. pageScope - pagecontext 내장 객체와 같이 page 영역에 저장된 속성값을 읽음
          2. requestScope - request 내장 객체와 같이 request 영역에 저장된 속성값을 읽어옴
          3. sessionScope - session 내장 객체와 같이 session 영역에 저장된 속성값을 읽어옴
          4. applicationScope - application 내장 객체와 같이 application 영역에 저장된 속성값을 읽어옴
      2. 폼값 처리하기
        1. 폼값을 처리하기 위한 내장 객체
          1. param - request.getParameter(”매개변수명”)과 동일하게 요청 매개변수의 값을 받아옴
          2. paramValues - request.getParameterValues(”매개변수명”)과 동일할게 요청 매개변수의 값을 문자열 배열로 받아옴. 주로 다중 선택이 가능한 checkbox를 통해 전달된 폼 값을 받을 때 사용함
      3. 객체 전달하기
        1. 객체를 영역에 저장한 후, 내장 객체의 영역이 공유된다는 특징을 이용해서 전송하고자 하는 페이지로 전달하면 된다.
      4. 쿠키, HTTP 헤더, 컨텍스트 초기화 매개변수 출력하기
        1. cookie - 쿠키를 읽을 때 사용함
        2. header - request.getHeader(헤더명)와 동일하게 헤더값을 읽을 때 사용함
        3. headerValues - request.getHeaders(헤더명)와 동일하게 헤더값을 배열 형태로 읽을 때 사용함
        4. initParam - web.xml에 설정된 컨텍스트 초기화 매개변수를 읽을 때 사용함
        5. pageContext - JSP의 pageContext 내장 객체와 동일한 역활을 합니다.
      5. 컬렉션 사용하기
      6. EL의 연산자들
        1. 할당 연산자
          ${ numberVar = 10 } <- 할당과 동시에 출력
          ${ numberVar = 10;'' } <- 할당만 되고 출력은 되지 않음
        2. 산술 연산자
          • +, -, * : 덧셈, 뺄셈, 곱셈
          • / 또는 div : 나눗셈
          • % 또는 mod : 나머지
        3. 비교 연산자
          • > 또는 gt : Greater Than (~보다 크다.)
          • >= 또는 ge : Greater than or Equal(~보다 크거나 같다.)
          • < 또는 lt : Less Than (~보다 작다.)
          • <= 또는 le : Less than or Equal (~보다 작거나 같다)
          • == 또는 eq : EQual (같다)
          • != 또는 ne : Not Equal (같지 않다)
        4. 논리 연산자
          • && 또는 and : 논리 And
          • || 또는 or : 논리 Or
          • ! 또는 not : 논리 Not
        5. empty 연산자
          • null
          • 빈 문자열
          • 길이가 0인 배열
          • size가 0인 컬렉션
        6. 삼항 연산자
          ${ 조건 ? "true일 때 선택" : "false일 때 선택" }
        7. null일 때 연산
          1. 자바에서는 null을 조작하려 하거나 연산에 사용하면 NullPointerException이 발생
          2. EL에서는 0으로 인식되어 예외가 발생하지 않음
      7. 정적 메서드 호출
        1. 클래스명을 톻한 정적 메서드 호출
        2. TLD를 이용한 정적 메서드 호출
          1. 호출할 메서드를 담은 자바 클래스를 작성(public로 선언한 정적 메서드만 호출가능)
          2. TLD 파일을 생성한 후 클래스와 메서드를 등록
          3. JSP 파일에서 taglib 지시어로 tld 파일의 경로와 이 tld를 지칭할 접두어를 설정
          4. 접두어를 통해 EL에서 메서드를 호출

    'TEMPLATE > JSP' 카테고리의 다른 글

    JSP 표준 태그 라이브러리(JSTL)  (1) 2023.05.02
    액션 태그(Action Tag)  (0) 2023.05.02
    JSP 내장 객체  (0) 2023.05.02
    page 지시어  (0) 2023.05.02
    JSP 기본 정보  (0) 2023.05.02

    댓글