출처: http://november11tech.tistory.com/88 [Mr.november11] 익스프레션 언어 :: 사월은 봄이다.

${ a +1 } ;  // 익스프레션 언어의 식


<%= a + 1 %> ; // 익스프레션의 식


 


이 두문법은 비슷해 보이지만 사용된 a의 이름의 의미는 다르다.


익스프레션에 사용된 a는 자바 프로그래밍 언어의 변수의 이름이다.


하지만 위에 있는 el 식에서 사용된 a는 애트리뷰트의 이름이다.


애트리뷰트란 setAttribute , getAttribute , removeAttribute 메서드를 통해 저장되고 관리되는 데이터를 의미한다.


 


el 언에는 복잡한 데이터 처리 로직을 구사할 수 없다. 그러므로 이 언어는 데이터 처리 결과를 출력하는 jsp 페이지에 주로 사용된다.


el을 이용하면 자바 클래스의 정적 메서드를 호출해서 그 결과를 출력하는 일도 할 수 있다.


 


예)


${ m:sqrt (100) }


 


 익스프레션 언어의 내장객체


( 스크립팅 요소 안에서는 사용할 수 없다, )

내장 객체

 데이터

 객체 타입

 pageSope

 page 애트리뷰트의 집합

 map

 requestScope

 request 애트리뷰트의 집합

 map

 sessionScope

 session 애트리뷰트의 집합

 map

 applicationScope

 application  애트리뷰트의 집합

 map

 param

 웹 브라우저로부터 입력된 데이터 집합

 map

 parmaValues

 웹 브라우저로부터 입력된 데이터 집합

(똑같은 이름의 데이터가 여럿일 때)

 map

 header

 http 요청 메시지에 있는 http 헤더의 집합

 map

 headerValues

 http 요청 메시지에 있는 http 헤더의 집합

( 똑같은 이름의 http 헤더가 여럿일 때)

 map

 cookie

 웹 브라우저로부터 전송된 쿠키의 집합

 map

 initParam

 웹 애플리케이션의 초기화 파라미터 집합

 map

 pageContext

 jsp 페이지의 환경 정보의 집합

 pageContext

 



* 익스프레션 언어에서는 el 식에 해당하는 데이터가 없어도 에러를 발생시키지 않고 그냥 해당 데이터를 출력하지 않기만 한다.


 


 


param은 웹 브라우저에서 <form> 앨리먼트를 통해 입력된 데이터를 가져올때 사용하는 내장객체다.


사용방법


1. ${param.입력에이터이름}


2. ${param["입력데이터이름"]}


 


paramValue는 <form> 앨리먼트를 통해 똑같은 이름의 데이터가 여러 개 입력될 경우에 사용한다.


사용방법


1. ${paramValue.입력데이터이름[인덱스]}


2. ${paramValue["입력데이터이름"][인덱스]}


-> el 식에서는 인덱스가 0부터 시작한다.


 


 


header는 http 요청 메시지에 포함된 http 헤더 값을 가져올 때 사용하는 내장 객체다.


사용방법


1. ${header.http헤더이름}


2. ${header["http헤더이름"]}   (강추)


 


headerValue는 paramValue랑 사용방법 같음


 


 


cookie 는 웹 브라우저가 웹 서버로 보낸 쿠키를 가져올 때 사용하는 내장 객체다.


사용방법


1. ${cookie.쿠키이름}


2. ${cookie["쿠키이름"]}


 


el 식이 가져 오는 것은 쿠키의 값이 아니라 쿠키 객체다. 그러므로 el 식을 jsp 페이지 안에 써 놓으면 사용자에게 아무 의미 없는 쿠키 객체의 참조 값만 출력될 것이다.


 


쿠키 값 출력하는 방법


${cookie.쿠키이름.value}    -> 쿠키 값을 가져오란 표시


${cookie.["쿠키이름"]["value"]} 


${cookie.쿠키이름["value"]}


${cookie.["쿠키이름"].value}


 


 


쿠키의 도메인 이름 가져오기


${cookie.쿠키이름.domain}


 


쿠기 url 경로명 가져오기


${cookie.쿠키이름["path"]}


 


쿠키 수명을 가져오라는 표시


${cookie.["쿠키이름"]["maxAge"]}


 


 


initParam


은 웹 애플리케이션의 초기화 파라미터 값을 가져다 출력할 때 사용하는 내장객체이다.


사용방법


1. ${initParam.웹애플리케이션의 초기화 파라미터이름}


2. ${initParam["웹애플리케이션의 초기화 파라미터이름"}


 


 


pageContext


는 jsp 페이지의 주변 환경에 대한 정보를 제공하는 객체다.


 


getPrequest()


${pageContext.request }


 


getRequestURI()


${pageContext.requestURI }


 


 


 


 


empty 연산자


데이터의 존재 여부를 확인하는 단항 연산자 이며, 피연산자인 데이터 이름은 empty 연산자 뒤에 써야 한다.


${empty  데이터이름 }


 


 


 


 


el 식에서 자바빈 프로퍼티의 값을 가져올 때는 이 프로퍼티 이름을 사용해야 한다.


${자바빈객체.프로퍼티이름}


 


 


 


 


* tld 는 나주에 하자 . . .


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 

'개발 > JSP_WEB' 카테고리의 다른 글

request.getParameter()과 request.getAttribute()  (0) 2018.02.12
str.getBytes  (0) 2018.02.12
쿠키  (0) 2018.02.12
서블릿 (Servlet)  (0) 2018.02.12
EL(Expression Language)  (0) 2018.02.12

+ Recent posts