IT/Java

2021-03-05 일지3

어린이개발자 2021. 3. 5. 14:25

<EL(Expression Language) 내용 정리>

 

* EL(Expression Language): 표현 언어
- JSP의 scope에 맞는 속성 제공
- 집합 객체에 대한 접근 방법 제공
- 수치 연산, 관계 연산, 논리 연산자 제공
- 자바 클래스 메소드 호출 기능 제공
- 표현 언어만의 기본 객체 제공

* 표현 언어의 표현 방법
- 문법: "${expr}" 
  [여기서, expr: 표현 언어가 정의한 문법에 따라 값을 표현하는 식]
- 예제:

  <jsp:include page="/module/${skin.id}/header.jsp" flush="true" />

  <b>${sessionScope.member.id}</b>님 환영합니다.

- 표현 언어는 JSP의 스크립트 요소(스크립트릿, 표현식, 선언부)를 제외한 

  나머지 부분에서 사용될 수 있으며, 표현식보다 편리하게 값을 출력할 수 있음

 

* 객체 접근 규칙
- 문법: "${<표현 1>.<표현 2>}"
  > 표현 1이나 표현 2가 null이면 null을 반환
  > 표현 1이 Map일 경우 표현 2를 key로한 값을 반환
  > 표현 1이 List나 배열이면 표현 2가 정수일 경우 해당 정수번째 index에 해당하는 값을 반환
     만약 표현 2가 정수가 아닐 경우에는 오류 발생
  > 표현 1이 객체일 경우는 표현 2에 해당하는 getter 메소드에 해당하는 

     메소드들을 호출한 결과 반환
  
* 표현 언어 비활성화: JSP에 명시하기
- 문법: '<%@ page isELIgnored = "true" %>'

 

<JSTL 내용 정리>

 

* JSTL(JSP Standard Tag Library)
- JSP 페이지에서 조건문, 반복문 처리 등을 html tag 형태로 작성할 수 있게 도와줌
- 코어태그 중 변수 지원 태그 [프로퍼티, 맵의 처리]
  > 문법
  <c:set target="${some}" property="propertyName" value="anyValue" />

  - some 객체가 자바빈일 경우: some.setPropertyName(anyValue)

  - some 객체가 맵(map)일 경우: some.put(propertyNAme, anyValue)

  여기서, target - <c:set>으로 지정한 변수 객체
            property - 프로퍼티 이름
            value - 새로 지정할 프로퍼티 값

'IT > Java' 카테고리의 다른 글

2021-03-08 일지1  (0) 2021.03.08
2021-03-06 일지1  (0) 2021.03.06
2021-03-05 일지2  (0) 2021.03.05
2021-03-05 일지1  (0) 2021.03.05
2021-03-04 일지  (0) 2021.03.04