2020-12-28 EL JSTL
EL
JSTL
토큰 응답의 최소단위?
EL
-
표현 언어는 값을 표현하는 데 사용되는 새로운 스크립트 언어로서 JSP의 기본 문법을 보완하는 역할을 한다.
-
스크립트 요소중의 하나로서
<%=expr%> - > ${expr}
-
EL은 반드시 속성데이터를 사용해야한다.
-> 반드시 4개의 SCOPE 안에 포함이 되야한다.
스코프 안에 포함된 녀석을 쉽게 표현하기 위해 사용한다.
- JSP의 네가지 기본 객체가 제공하는 영역의 **속성 사용
- 나머지 들은 반드시 일반적인 집합 객체가 아니라 속성을 통해서 제공되는 집합 객체여야한다.
- 집합 객체에 대한 접근 방법 제공
- 수치 연산, 관계 연산, 논리 연산자 제공
- 자바클래스 메서드 호출 기능 제공
- 표현 언어만의 기본 객체 제공
-
공유영역에 집어 넣을때와 꺼낼때 동일한 영역을 사용해야하나 EL을 이용하면 그냥 알아서 꺼내주는데
- EL은 가장 작은 영역에 pageScope에서 부터 servletContext 까지 공유 영역을 뒤진다.
- EL 2.0 버전 대는 할당 연산자, 증감 연산자를 지원하지 않지만 EL 3.0 버전부터는 지원이 된다.
- MODEL 1 에서는 EL 사용 X , MODEL 2 이상에서 사용
JSTL
표현 언어는 값을 표현하는 데 사용되는 새로운 스크립트 언어로서 JSP의 기본 문법을 보완하는 역할을 한다.
스크립트 요소중의 하나로서
<%=expr%> - > ${expr}
EL은 반드시 속성데이터를 사용해야한다.
-> 반드시 4개의 SCOPE 안에 포함이 되야한다.
스코프 안에 포함된 녀석을 쉽게 표현하기 위해 사용한다.
- JSP의 네가지 기본 객체가 제공하는 영역의 **속성 사용
- 나머지 들은 반드시 일반적인 집합 객체가 아니라 속성을 통해서 제공되는 집합 객체여야한다.
- 집합 객체에 대한 접근 방법 제공
- 수치 연산, 관계 연산, 논리 연산자 제공
- 자바클래스 메서드 호출 기능 제공
- 표현 언어만의 기본 객체 제공
공유영역에 집어 넣을때와 꺼낼때 동일한 영역을 사용해야하나 EL을 이용하면 그냥 알아서 꺼내주는데
- EL은 가장 작은 영역에 pageScope에서 부터 servletContext 까지 공유 영역을 뒤진다.
- EL 2.0 버전 대는 할당 연산자, 증감 연산자를 지원하지 않지만 EL 3.0 버전부터는 지원이 된다.
- MODEL 1 에서는 EL 사용 X , MODEL 2 이상에서 사용
코어,XML,국제화, 데이터베이스, 함수
커스텀 태그의 형태, 값을 표현할 때는 EL 사용
XML, 데이터 베이스 커스텀 태그는 이용하지 않는다.
XML
XML 변환 -> 마샬링, 언 마샬링
함수 : 컬렉션 처리, String 처리 지원
EL 2.2 이후에는 필요 없다.
코어와 국제화 태그를 볼예정
아래 jstl과는 버전이 다름 위에 꺼가 최신
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
우리가 썻던 경우 template.jsp 에서 tiles 를 이용할 때
out - escape 를 내가 정할 수 있다.
core
- EL변수(속성) 지원
- 조건문
- 반복문
- url 재처리
- 기타
fmt (국제화) formatting의 약자
formatDate 날짜 데이터를 문자로 표현하고 싶을 때
parseDate 문자로 날짜를 만들어 내고 싶을때
formatNumber 숫자 데이터를 일정한 형식으로 출력하고 싶을때
fn?
사용자 정의? tld 파일 만들기
name : 사용할 함수 이름
function-class : 해당 클래스의 QFN
function-signature : 메서드 시그니처?
JSTL fn 예시
META-INF 의 fn.tld
세계 시계를 각 나라의 언어로 구현하되 절대 스크립틀릿 기호를 쓰지 않는다.
-
EL JSTL
-
내일 파일업로드 처리
이미 했기 때문에 세세하게 안하실예정( 다 알고 있다는 전제하에 하신다고 하니 미리 고급자바 점검)
미션
-
언어와 시간대 처리 같이
시간대가 나오나? 안나온다. 세계시간대가 어떤것이 있는지 리스트로 있어야한다.
그리고 이 리스트는 선택한 시간존에 따라 다 달라져야한다.
이건다 calendar.jsp 가 가지고 있다.
parseDate 의 timeZone 존재한다.
timeZone을 UI 제공 timeZone이 제공하는 스세틱 메서드를 써야하고
그러면 함수 라이브러리를 만들어야한다.
결국 우리가 만들어야한다. -
모든 뷰단에 스크립틀릿 기호 없어야한다.
Author And Source
이 문제에 관하여(2020-12-28 EL JSTL), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hkjs96/2020-12-28-EL-JSTL저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)