[SIST] JSP_days07_표현언어(Expression Language) == EL

2022. 6. 23. 02:25·TIL/View Template
728x90
반응형

1. EL 이란?

 - 표현식<%= %>을 간결하고 편리하게 사용하기 위한 또 다른 형태의 스크립트 언어
 - JSTL 1.0 부터 소개
 - 톰캣 8.5 + JSP 2.3, EL 3.0 한 쌍

 

2. EL 기능

1) 쿠키, JSP 기본 객체 사용 가능
2) 람다식 사용
3) 수치, 관계, 논리 연산자 사용(empty, not, == eq, != ne 등등)
4) JSP 4가지 영역(Scope) 사용
5) 자바 클래스의 메서드 호출 가능
     정적(static) 메서드 호출 가능
  등등

 

3. EL 사용 선언 형식

${EL 표현 }
#{EL 표현 } -> 기억 안해도됨

 

* EL은 4가지 Scope(영역) 중 하나에 저장을 해야 사용이 가능함

String name = "익순이"

request.setAttribute("xxx", name); -> request Scope에 저장

 

또는 c:set으로 저장된 변수도 EL로 출력이 가능하다.


4. EL 자료형과 리터럴

1) boolean - true, false
2) 정수 - 10, -10
3) 실수 - 3.14 => java.lang.Double 클래스 타입으로 잡힘
4) 문자열 - "" ''
5) NULL - null


5. EL 연산자

1) 수치연산자

+ - * / %

/ 대신 div 사용 가능

% 대신 mod 사용 가능

 

2) 비교연산자

 ==    eq
 !=     ne
 <       lt
 >       gt
 <=     le
 >=     ge

 

3) 논리연산자

 &&  and
 ||     or
 !      not

 

4) empty 연산자 **

값이 null이 와도 true
값이 ""(빈문자열)이 와도 true
배열의 길이가 0이어도 true
빈 Map이 와도 true
빈 Collection이 와도 true(ex. empty list == true)

위의 경우 외에는 empty 연산자의 결과는 false를 리턴한다.

 

5) 삼항연산자

a > b ? a : b

 

6) 문자열 연결 연산자

- EL 3.0 version 부터 EL 문자열 연결 연산자 적용 : +=

 

7) 세미콜론 연산자

- A ; B이면 A는 출력하지 않고 B만 출력한다.

 

8) 할당(대입) 연산자

- 어떤 변수에 어떤 값을 할당하고 변수를 출력하겠다 라는 의미

ex) 변수 var1에 10이라는 값을 할당하고 var1을 출력하겠다.


6. EL에서 객체의 메서드, 정적(static) 메서드 사용하는 방법

ex) long형을 원하는 패턴으로 출력하기 - 3자리마다 콤마 찍기

 

1) FormatUtil.java 생성 후 인스턴스 메서드와 정적 메서드 생성

 

2) jsp 파일에서 

- request.setAttribute("price", price)를 사용하여 JSP Scope 영역에 저장하여 EL 사용하거나 JSTL로 변수 선언 할당하여 사용가능

 

- FormatUtil 객체를 생성해서 객체명.number() 메서드 호출

 

[결과]


번외) 천 단위마다 콤마 찍기

 


7. EL의 기본 객체

출처 : 최범균의 JSP

1. pageContext   == page


2. pageScope == pageContext.setAttribute("deptn", 10)

    requestScope == requset.setAttribute("empno", 7369)
    sessionScope == session.setAttribute()
    applicationScope == application.setAttribute()


3. param == request.getParameter("age")
   param.age


4. paramValues
ex) ?name=yaliny&name=hong&name=admin
      paramValues.name == request.getParameterValues("name")


5. header == request.getHeader()


6. headerValues == request.getHeaderValues()


7. cookie == request.getCookies()
      ㄴ 쿠키 객체
         Map 객체 = key, value
         쿠키이름, 쿠키객체(cookie)


8. initParam == application.getInitParameter()
web.xml
  <context-param>
    <description>디버깅 레벨</description>
   <param-name>debugLevel</param-name>
    <param-value>3</param-value>
     </context-param>
     
${initParam.debugLevel } == param-value인 3을 가져옴


기본 객체 사용 예시)

 

 

 

> 쿼리스트링 직접 입력

 

> 링크 태그 클릭

 

[ex09_04_03.jsp 코드]


8. EL로 쿠키 다루기(EL+JSTL 포함)

[ex09_05.jsp]

 

[ex09_05_ok.jsp]

 

[결과]

> 링크 태그 시 ex09_05_ok.jsp로 이동하여 쿠키 이름과 쿠키 값을 출력

728x90
반응형

'TIL > View Template' 카테고리의 다른 글

[SIST] JSP_days08_모델 2구조와 MVC 패턴  (0) 2022.06.24
[SIST] JSP_days08_JSTL(표준 태그 라이브러리)  (0) 2022.06.24
[SIST] JSP_days07_세션(session)  (0) 2022.06.23
[SIST] JSP_days07_커넥션풀  (0) 2022.06.23
[SIST] JSP_days06/07_JSP 쿠키(Cookie)  (0) 2022.06.22
'TIL/View Template' 카테고리의 다른 글
  • [SIST] JSP_days08_모델 2구조와 MVC 패턴
  • [SIST] JSP_days08_JSTL(표준 태그 라이브러리)
  • [SIST] JSP_days07_세션(session)
  • [SIST] JSP_days07_커넥션풀
야리니
야리니
오늘보다 내일 더 성장하는 개발자가 되기 위한 야리니 블로그입니다 :)
    반응형
    250x250
  • 야리니
    야리니의 step by step
    야리니
  • 링크

    • GitHub
    • Linkedin
  • 전체
    오늘
    어제
    • 분류 전체보기 (477)
      • TIL (379)
        • Java (97)
        • Kotlin (28)
        • JPA (16)
        • Spring (37)
        • Oracle (22)
        • JDBC (7)
        • Web(HTML, CSS, JS, jQuery) (90)
        • View Template (31)
        • AWS (7)
        • HTTP (7)
        • CS (5)
        • Linux, Unix (2)
        • Python (20)
      • Trouble Shooting(Error) (37)
      • Algorithm (15)
      • Git,GitHub (8)
      • Diary (23)
      • 독서 (9)
      • Etc (6)
        • Mac (1)
        • 학원준비과정 (2)
  • 블로그 메뉴

    • 방명록
    • 태그
  • 공지사항

    • 안녕하세요 :)
  • 인기 글

  • 태그

    HTML
    쌍용교육센터
    oracle
    Kotlin
    java기초
    백엔드 개발자
    코틀린
    java
    국비지원학원
    CSS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
야리니
[SIST] JSP_days07_표현언어(Expression Language) == EL
상단으로

티스토리툴바