${ 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 식에서 자바빈 프로퍼티의 값을 가져올 때는 이 프로퍼티 이름을 사용해야 한다.
${자바빈객체.프로퍼티이름}
'front' 카테고리의 다른 글
Regular Expression (0) | 2015.06.23 |
---|---|
element의 크기/위치 정보와 관련된 프로퍼티-메소드(offsetLeft....etc) (0) | 2015.01.04 |
자주쓰는 정규식 (0) | 2014.10.24 |
el 식 (0) | 2014.10.21 |
jstl 함수정리 (0) | 2014.09.11 |