JSP EL 표현 식 상세 소개

6246 단어 JSPEL 표현 식
1.JSP EL 언어 정의        E L(Expression Language)  목적:JSP 를 더욱 간단하게 쓰기 위해 서 입 니 다.
       표현 식 언어의 영감 은 ECMAScript 와 XPath 표현 식 언어 에서 나 온 것 으로 JSP 에서 표현 식 을 간소화 하 는 방법 을 제공 합 니 다.이것 은 사용 가능 한 네 임 스페이스(PageContext 속성),내장 속성 과 집합,연산 자(산술 형,관계 형,논리 형)에 대한 접근 자,자바 류 의 정적 방법 에 비 친 확장 가능 함수 와 암시 적 대상 을 기반 으로 하 는 간단 한 언어 입 니 다.       EL 은 JSP 스 크 립 트 에서 요 소 를 작성 하 는 범위 밖에서 런 타임 표현 식 을 사용 하 는 기능 을 제공 합 니 다.스 크 립 트 작성 요 소 는 페이지 에 JSP 파일 에 자바 코드 를 삽입 할 수 있 는 요 소 를 말 합 니 다.그것들 은 일반적으로 대상 조작 과 생 성 내용 에 영향 을 주 는 계산 을 집행 하 는 데 쓰 인 다.JSP 2.0 은 EL 표현 식 을 스 크 립 트 작성 요소 로 추가 합 니 다.
 
2.JSP EL 소개
1.문법 구조     ${expression}2,[]와.연산 자     EL 은"."와"[]"두 가지 연산 자 를 제공 하여 데 이 터 를 액세스 합 니 다.     액세스 할 속성 이름 에 특수 문자 가 포함 되 어 있 습 니 다.예 를 들 어.또는?등 자모 나 숫자 가 아 닌 기 호 를 쓰 려 면 반드시'[]'를 써 야 한다.예 를 들 면:         ${user.My-name}은${user["My-name"]}로 바 꿔 야 합 니 다.     동적 으로 값 을 추출 하려 면'[]'로 할 수 있 지만'.'동적 으로 값 을 추출 할 수 없습니다.예 를 들 면:         ${sessionScope.user[data]}에서 data 는 변수 3,변수 입 니 다.     EL 변수 데 이 터 를 액세스 하 는 방법 은 매우 간단 합 니 다.예 를 들 어${username}.한 범위 에서 username 이라는 변 수 를 꺼 내 라 는 뜻 입 니 다.     Google 은 어떤 범위 의 username 을 지정 하지 않 았 기 때문에 페이지,Request,Session,Application 범위 에서 순서대로 찾 습 니 다.     도중에 username 을 찾 으 면 바로 전송 하고 더 이상 찾 지 않 습 니 다.그러나 모든 범 위 를 찾 지 못 하면 null 로 전송 합 니 다.     속성 범위 가 EL 에 있 는 이름         Page          PageScope         Request          RequestScope         Session          SessionScope         Application      ApplicationScope
2.JSP EL 의 유효한 표현 식
       유효 표현 식 은 문자,연산 자,변수(대상 참조)와 함수 호출 을 포함 할 수 있 습 니 다.우 리 는 이 유효한 표현 식 들 중 하 나 를 각각 이해 할 것 이다.
1.문자
JSP 표현 식 언어 정의 표현 식 에서 사용 할 텍스트:
문자.
문자 값
Boolean
true 와 false
Integer
자바 와 유사 합 니 다.24,45,567 등 모든 양수 나 음 수 를 포함 할 수 있다.
Floating Point
자바 와 유사 합 니 다.모든 플러스 또는 마이너스 의 부동 소수점 을 포함 할 수 있 습 니 다.예 를 들 어-1.8E-45,4.567.
String
작은 따옴표 나 작은 따옴표 로 제 한 된 문자열작은 따옴표,작은 따옴표 와 반대 평행봉 에 대해 서 는 반대 평행봉 문 자 를 전의 서열 로 사용한다.문자열 양 끝 에 더 블 따옴표 를 사용 하면 작은 따옴표 는 전의 가 필요 하지 않 음 을 주의해 야 합 니 다.
Null
null
 
2.연산 자
JSP 표현 식 언어 는 다음 과 같은 조작 자 를 제공 합 니 다.대부분 자바 에서 자주 사용 하 는 조작 자 입 니 다.
술어
정의.
산술 형
+,-(이원),*,/,div,%,mod,-(일원)
논리 형
and、&&、or、||、!、not
관계 형
==、eq、!=、ne、、gt、<=、le、>=、ge。다른 값 과 비교 하거나 불 형,문자열 형,정형 또는 부동 소수점 문자 와 비교 할 수 있 습 니 다.
비다
빈 연산 자 는 접두사 작업 으로 값 이 비어 있 는 지 확인 하 는 데 사용 할 수 있 습 니 다.
조건 형
A ?B :C。A 할당 결과 에 따라 B 나 C 를 할당 합 니 다.
 
3.암시 적 대상
JSP 표현 식 언어 는 암시 적 대상 을 정의 합 니 다.그 중 많은 대상 은 JSP scriplet 과 표현 식 에서 사용 할 수 있 습 니 다.
pageContext
JSP 페이지 의 상하 문.요청,응답,세 션,출력,servletContext 등 JSP 암시 적 대상 에 접근 할 수 있 습 니 다.예 를 들 어${pageContext.response}은 페이지 의 응답 대상 에 값 을 부여 합 니 다.
그 밖 에 몇 개의 암시 적 대상 을 제공 하여 다음 과 같은 대상 에 대해 간단 한 방문 을 허용 한다.
술어
정의.
param
요청 한 매개 변수 이름 을 단일 문자열 매개 변수 값 에 표시 합 니 다(ServletRequest.getParameter(String name)를 호출 하여 얻 을 수 있 습 니 다).getParameter(String)방법 은 특정한 이름 을 가 진 인 자 를 되 돌려 줍 니 다.표현 식$(param.name)는 request.getParameter(name)에 해당 합 니 다.
paramValues
요청 한 매개 변수 이름 을 수치 배열 에 표시 합 니 다(ServletRequest.getParameter(String name)를 호출 하여 얻 을 수 있 습 니 다).이것 은 param 암시 적 대상 과 매우 유사 하지만 하나의 값 이 아 닌 문자열 배열 을 검색 합 니 다.표현 식${paramvalues.name)은 request.getParamterValues(name)에 해당 합 니 다.
header
요청 헤더 이름 을 단일 문자열 헤더 값 에 표시 합 니 다(ServletRequest.getHeader(String name)를 호출 하여 얻 을 수 있 습 니 다).표현 식${header.name}은 request.getHeader(name)에 해당 합 니 다.
headerValues
요청 헤더 이름 을 수치 배열 에 표시 합 니 다(ServletRequest.getHeaders(String)를 호출 하여 얻 을 수 있 습 니 다).그것 은 두 은 식 대상 과 매우 유사 하 다.표현 식${headerValues.name}은 request.getHeaderValues(name)에 해당 합 니 다.
cookie
하나의 쿠키 대상 에 쿠키 이름 을 표시 합 니 다.서버 에 보 낸 클 라 이언 트 요청 은 하나 이상 의 쿠키 를 얻 을 수 있 습 니 다.표현 식${cookie.name.value}은 특정한 이름 을 가 진 첫 번 째 쿠키 값 을 되 돌려 줍 니 다.같은 이름 의 쿠키 를 여러 개 포함 하 기 를 요청 하면${header Values.name}표현 식 을 사용 해 야 합 니 다.
initParam
컨 텍스트 초기 화 매개 변수 이름 을 단일 값 에 표시 합 니 다(ServletContext.getInitparameter(String name)를 호출 하여 얻 을 수 있 습 니 다).
상기 두 가지 유형의 암시 적 대상 을 제외 하고 일부 대상 은 웹 컨 텍스트,세 션,요청,페이지 등 다양한 범위 의 변 수 를 방문 할 수 있 습 니 다.
술어
정의.
pageScope
페이지 범위 의 변수 이름 을 값 에 표시 합 니 다.예 를 들 어 EL 표현 식 은${pageScope.object Name}을 사용 하여 JSP 의 페이지 범위 에 있 는 대상 을 방문 할 수 있 고${pageScope.object Name.attributeName}방문 대상 의 속성 도 사용 할 수 있 습 니 다.
requestScope
요청 범위 의 변수 이름 을 값 에 표시 합 니 다.이 대상 은 요청 대상 의 속성 에 접근 할 수 있 습 니 다.예 를 들 어 EL 표현 식 은${requestScope.object Name}을 사용 하여 JSP 요청 범위 의 대상 을 방문 할 수 있 고${requestScope.object Name.attributeName}방문 대상 의 속성 도 사용 할 수 있 습 니 다.
sessionScope
세 션 범위 의 변수 이름 을 값 에 표시 합 니 다.이 대상 은 세 션 대상 의 속성 에 접근 할 수 있 습 니 다.예 를 들 면:
$sessionScope.name} 
applicationScope
프로그램 범위 의 변수 이름 을 값 에 표시 합 니 다.이 암시 적 대상 은 프로그램 범위 의 대상 에 접근 할 수 있 습 니 다.
 
3.특히 강조 한다.
1.표현 식 이 이름 에 따라 이 대상 들 을 인용 할 때 해당 하 는 대상 이지 해당 하 는 속성 이 아 닙 니 다.예 를 들 어 기 존의 pageContext 속성 이 다른 값 을 포함 하 더 라 도${pageContext}은 PageContext 대상 을 되 돌려 줍 니 다.
2、 <%@page isELIgnored="true"%>는 EL 언어 를 사용 하지 않 을 지 여 부 를 표시 합 니 다.TRUE 는 금 지 를 표시 합 니 다.FALSE 는 금지 하지 않 습 니 다.JSP 2.0 에서 기본적으로 EL 언어 를 사용 합 니 다.
예 를 들 어 설명 하 다
1.예 를 들 면,
      < %=request.getParameter(“username”)% >       등가       ${ param.username }
2.예 를 들 어 아래 의 EL 언어 는 완성 할 수 있 습 니 다.username 이 비어 있 으 면 null 을 표시 하지 않 고 값 을 표시 하지 않 습 니 다.

 
      <%=user.getAddr( ) %>      등가     ${user.addr}。
3.예 를 들 어:
<% =request.getAttribute(“userlist”) %>     등가     { requestScope.userlist }
4.예 를 들 어 원 리 는 상례 3 과 같다.
${ sessionScope.userlist } 1
${ sessionScope.userlist } 2
${ applicationScope.userlist } 3 
${ pageScope.userlist } 4
${uselist}의미:실행 순 서 는 4,1,2,3 입 니 다.
"."뒤에 있 는 것 은 문자열 일 뿐 실제 내 장 된 대상 이 아니 라 대상 을 호출 할 수 없습니다.
4.예 를 들 면,
   <%=user.getAddr( ) %>      등가     ${user.addr}
   첫 번 째 문장 앞의 user 는 변수 입 니 다.
   두 번 째 문장 뒤에 user 는 특정한 범위 안의 속성 이 어야 합 니 다.
 

좋은 웹페이지 즐겨찾기