JSP EL, JSF EL 및 통합 EL의 차이점 [닫기]


122

EL (Expression Languages)의 자세한 차이점을 알고 싶습니다. JSP EL, JSF EL 및 Unified EL이 있습니다.

EL의 역사와 Java EE 응용 프로그램에서 사용되는 최신 EL이 무엇인지 알고 싶습니다. 최신 버전의 모든 뷰 기술에 공통적 인 EL입니까?

답변:


221
  • 2002 년 6 월 : JSTL 1.0이 EL과 함께 처음 도입되었습니다. ${}JSTL 태그에서만 작동 하는 것입니다. Javabean get메소드 를 호출하도록 설계되었습니다 .

  • 2003 년 11 월 : JSP 2.0이 도입되고 EL이 javax.servlet.jsp.el패키지의 JSTL 1.0에서 JSP 2.0으로 이동 되었으며 J2EE 1.4 표준의 일부로 표준 EL 이되었습니다 . JSTL 1.1은 EL없이 배송되었습니다. 이제 ${}JSP 템플릿 텍스트의 JSTL 태그 외부에서도 작동합니다.

  • 3 월 : 2004 JSF 1.0에 도입 된 연기 ELjavax.faces.el패키지로 제공된다. #{}JSF 태그 내에서만 작동 하는 것입니다. 표준 JSP EL과의 차이점 ${}get할 수있을뿐만 아니라 할 수도 있다는 것 set입니다. 이것은 관리 빈 자동 생성 및 입력 구성 요소의 값 설정에 필수였습니다. 표준 EL ${}은 JSF 출력 태그에서도 작동하지만 아직 범위에 존재하지 않고 입력 값을 설정하지 않는 경우 빈을 자동 생성하지 않습니다.

  • 2005 년 5 월 : 2006 년 5 월에 출시 될 새로운 JSP 2.1을 준비하는 동안 지연된 EL #{}이 JSF에서 추출되어 표준 EL과 결합되었습니다.${}javax.el패키지로 제공된다. 그 시점에서 JSF 1.2와 함께 도입 된 통합 EL 이되었고 나중에 JSP 2.1 및 Java EE 5 표준의 일부가되었습니다. 는 #{}이제에 JSP 태그에 사용할 수 get있지만에, 값 set값. 는 ${}이제 JSP도 자동 작성 콩,하지만 관리 할 수 set값을.

  • 2006 년 11 월 : Facelets가 JSP의 후속 제품으로 도입되었습니다. 속성없이 #{}대신 JSF 태그 외부의 템플릿 텍스트 를 사용할 수 있습니다 <h:outputText>. 그것은 또한 치료 ${}#{}, Facelets의 동일한 행동하라 둘 다 너무.

  • 2009 년 12 월 : EL은 JSP 사양에서 추출되어 JSP와 독립적으로 유지되는 독립형 사양이되었습니다. 첫 번째 버전은 JSP 2.2와 유사한 EL 2.2 (JSR-245)입니다. 새로운 주요 기능은 #{}구문 내에서 Javabean getter / setter를 호출하는 대신 매개 변수화 된 메소드를 호출하는 것입니다 ( 예 : #{bean.method(argument)}. 또한 Facelets는 Java EE 6 표준의 일부가되었습니다.

  • 2013 년 6 월 : 독립형 EL 프로세서와 함께 제공되는 EL 3.0이 도입되어 일반 Java SE 애플리케이션에서 사용할 수 있습니다. 다른 주요 새로운 기능은 새로운 문자열 연결 연산자 +=, 스트림 및 Lambda 표현식을 포함한 컬렉션 객체에 대한 새로운 작업입니다.-> (Java 6/7에서도 가능)을 및 EL 범위로 상수 가져 오기가 있습니다.


18

BalusC의 답변에 추가 ...

EL은 원래 2001 년 Art Technology Group의 Nathan Abramson에 의해 구상되고 구현되었습니다. 당시 구현은 SPEL (Simplest Possible Expression Language)로 알려져있었습니다. 구현은 나중에 JSTL1.0에 포함되었습니다. Nathan은 JSR-052 Expert Group 의 일부였으며 JSTL 사양 에서 표현 언어의 원동력 으로 인정 받았습니다 .

"JSTL에 도입 된 표현 언어의 원동력이 된 Nathan Abramson의 특별한 언급"

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.