본문 바로가기
WEB/JSP Servlet

표현언어(EL) 비활성화 방법

by 노랑파랑 2016. 11. 5.
반응형




EL 비활성화 방법


1. web.xml 파일에 비활성화 옵션 지정

* 비활성화 시켜주는 옵셔을 추가한다.

<? xml version=" " encoding="UTF-8" ?>

<web-app ... >

<jsp-config>

...

<jsp-property-group>

<url-pattern> /oldversion/* </url-pattern>

<el-ignored> true </el-ignored>    // EL 비활성화

<deferred-syntax-allowed-as-literal>    // # EL 비활성화 

true

</deferred-syntax-allowed-as-literal>

</jsp-property-group>

</jsp-config>

</web-app>

* <el-ignored> : ${ }과 #{ } 형식의 EL을 모두 문자열로 처리한다.

* <defferd-syntax-allowed-as-literal> : #{ }형식의 EL만 문자열로 처리한다.



2. JSP페이지에 비활성화 옵션 지정

* web.xml 파일에서의 EL 비활성화 여부와 상관없이 JSP에서 page 디렉티브를 이용해 EL을 비활성화 한다.


1) 관련 page 디렉티브

▷ isELIgnored : 이 값이 ture일 경우 EL을 일반 문자열로 처리한다.

▷ defferdSyntaxAllowedAsLiteral : 이 값이 ture일 경우 #{ }형식의 EL만을 문자열로 처리한다.

<%@ page isELIgnored = "true" %>

<%@ page deffredSyntaxAllowedAsLiteral = "true" %>


2) web.xml과 page 디렉티브 상태에 따른 처리 여부

web.xml  <el-ignored>

page 디렉티브 isELIgnored

EL 처리 여부 

 X

 X 

 서블릿 2.3버전 이하이면 EL을 처리하지 않는다. 

 false

 X 

 EL을 처리한다. 

true 

 EL을 처리하지 않는다. 

 상관 없음 

 false 

 EL을 처리한다. 

 상관 없음 

true 

 EL을 처리하지 않는다. 


3. web.xml 파일을 서블릿 버전에 맞게 작성

* 서블릿 버전에 따라서 지원 여부가 결정된다.

▷ 서블릿 2.3 버전 web.xml : EL을 지원하지 않는다.

▷ 서블릿 2.4 버전 web.xml : #{ }을 지원하지 않는다.

▷ 서블릿 2.5 / 3.0 / 3/1 버전 web.xml : ${ }와 #{ }을 지원한다.


반응형

'WEB > JSP Servlet' 카테고리의 다른 글

커스텀 태그 : 기초, 태그 파일  (0) 2016.11.05
JDBC : 기초  (0) 2016.11.05
표현언어 : 람다식, 스트림 API  (0) 2016.11.04
표현언어 : 기초, 연산자  (0) 2016.11.02
JSTL : 함수  (0) 2016.10.30